Prerequisites

Loading libs (packages)

wants <- c('mirt','semPlot','semTools','psych','parameters','olsrr','lavaan','knitr','matrixStats','stats','dplyr','readr')
has <- wants %in% rownames(installed.packages())
if (any(!has)) install.packages(wants[!has])

Loading internal functions

#' Calculate factors from cfa model
#'
#' This functions calculate composite reliability values of factors
#'
#' @param fit a lavaan object expected to contain a CFA model
#' @param return.total logical indicating whether to return a final column containing the reliability of a composite of all items.
#' @return Reliability values of each factor in each group.
getFactors <- function(fit, secondFactor = NULL) {
  sl <- standardizedSolution(fit)
  sl <- sl[sl$op == '=~',]
  lfactors <- lapply(unique(sl$lhs), FUN = function(lhs) {
    sl$rhs[sl$lhs == lhs] 
  })
  names(lfactors) <- unique(sl$lhs)
  if (!is.null(secondFactor))
    lfactors[[secondFactor]] <- NULL
  return(lfactors)
}
#' Calculate composite reliability of factors
#'
#' This functions calculate composite reliability values of factors
#'
#' @param fit a lavaan object expected to contain a CFA model
#' @param return.total logical indicating whether to return a final column containing the reliability of a composite of all items.
#' @return Reliability values of each factor in each group.
compReliability <- function(fit, return.total = F) {
  toReturn <- sapply(getFactors(fit), FUN = function(x) {
    sl <- standardizedSolution(fit)
    sl <- sl$est.std[sl$op == "=~" & sl$rhs %in% x]
    names(sl) <- x
    
    re <- 1 - sl^2
    sum(sl)^2 / (sum(sl)^2 + sum(re))
  })
  if (return.total) {
    sl <- standardizedSolution(fit)
    sl <- sl$est.std[sl$op == "=~"]
    re <- 1 - sl^2
    toReturn <- c(toReturn, total=sum(sl)^2 / (sum(sl)^2 + sum(re)))
  }
  toReturn
}
#' Asessing convergent and discriminant validity
#'
#' This functions assess the discriminant and convergent validity of factors 
#' based on Heterotrait-Monotrait Ratio (semTools::htmt).
#'
#' @param fit a lavaan object expected to contain a CFA model
#' @param lnv string with the lavaan syntax of the fit CFA model.
#' @param dat data.frame with the data used in the CFA model
#' @param secondFactor second factor to be used in the CFA model
#' @return Composite Reliability, AVE and matrix of Heterotrait-Monotrait Ratio
convergentDiscriminantValidity <- function(fit, lvn, dat, secondFactor = NULL) {
  library(olsrr)
  library(semTools)
  
  CR <- compReliability(fit)
  AVE <- reliability(fit)[c("avevar"),]
  if (!is.null(secondFactor)) {
    AVE[secondFactor] <- reliability(fit, return.total = TRUE)["avevar","total"]
  }
  
  factors <- getFactors(fit, secondFactor)
  
  for (f1 in names(factors)) dat[[f1]] <- rowSums(dat[,factors[[f1]]])
  if (is.null(secondFactor)) secondFactor <- 'F0'
  dat[[secondFactor]] <- rowSums(dat[,names(factors)])
  
  mdl <- lm(as.formula(paste0(secondFactor,' ~ ', paste0(names(factors), collapse = '+'))), data = dat)
  VIF <- ols_vif_tol(mdl)$VIF
  VIF.i <- sapply(names(factors), FUN = function(f1) {
    mdl <- lm(as.formula(paste0(f1,' ~ ',paste0(factors[[f1]], collapse = '+'))), data = dat)
    max(ols_vif_tol(mdl)$VIF)
  })
  
  
  lvn2 <- stringr::str_replace(lvn, paste0("\n\\s*",secondFactor,"\\s*.*=~\\s*.*\n","\n"),"\n\n")
  corr.df <- as.table(inspect(fit, "cor.lv"))
  corr.df[upper.tri(corr.df)] <- NA
  htmt.df <- as.table(semTools::htmt(lvn2, dat))
  if (is.null(secondFactor) || secondFactor != 'F0') {
    cnames <- colnames(htmt.df)
    htmt.df <- cbind(htmt.df, rep(NA, nrow(htmt.df)))
    htmt.df <- rbind(htmt.df, rep(NA, ncol(htmt.df)))
    rownames(htmt.df) <- c(cnames, secondFactor)
    colnames(htmt.df) <- c(cnames, secondFactor)  
  }
  htmt.df[lower.tri(htmt.df)] <- NA
  
  df <- corr.df
  df[upper.tri(corr.df)] <- htmt.df[upper.tri(df)]
  for (cname in names(AVE)) df[cname,cname] <-  sqrt(AVE[[cname]])
  
  as.data.frame(cbind(CR,AVE, VIF, VIF.i, df))
}
#' Summarize fit indexes of CFA models
#'
#' This functions summarize fit indexes from CFA models
#'
#' @param fits a list of lavaan objects with CFA models
#' @return fit indexes results of CFA models
summariseFits <- function(fits) {
  df_fit <- do.call(rbind, lapply(fits, FUN = function(fit) {
    dat <- as.list(round(fitMeasures(fit, c("chisq","df","gfi","agfi","cfi","tli","srmr","rmsea","rmsea.ci.lower","rmsea.ci.upper")), 3))
    rbind(c(dat[c("chisq","df")],"chisq/df"=round(dat$chisq/dat$df,3)
            , dat[c("gfi","agfi","cfi","tli","srmr","rmsea")]
            , "rmsea.ci" = paste0("[",dat$rmsea.ci.lower,"; ",dat$rmsea.ci.upper,"]")))
  }))
  rownames(df_fit) <- names(fits)
  return(df_fit) 
}

Loading data

library(readr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
fss <- read.csv("../data/fss.csv")
fss <- select(fss, starts_with("Q"))

Checking assumptions

Performing Bartlett’s test of sphericity

(parameters::check_sphericity_bartlett(fss))
## Registered S3 method overwritten by 'parameters':
##   method                         from      
##   format.parameters_distribution datawizard
## # Test of Sphericity
## 
## Bartlett's test of sphericity suggests that there is sufficient significant correlation in the data for factor analysis (Chisq(630) = 6795.14, p < .001).
  • Obs: We didn’t use bartlett.test() because it performs homogeneity of variances

Performing Kaiser, Meyer, Olkin (KMO) based on Measure of Sampling Adequacy (MSA)

library(psych)
(kmo_mod <- psych::KMO(fss)) 
## Kaiser-Meyer-Olkin factor adequacy
## Call: psych::KMO(r = fss)
## Overall MSA =  0.87
## MSA for each item = 
##   Q1   Q2   Q3   Q4   Q5   Q6   Q7   Q8   Q9  Q10  Q11  Q12  Q13  Q14  Q15  Q16 
## 0.90 0.89 0.88 0.91 0.90 0.84 0.90 0.69 0.80 0.89 0.92 0.84 0.85 0.91 0.91 0.80 
##  Q17  Q18  Q19  Q20  Q21  Q22  Q23  Q24  Q25  Q26  Q27  Q28  Q29  Q30  Q31  Q32 
## 0.85 0.81 0.85 0.82 0.90 0.85 0.88 0.92 0.89 0.88 0.92 0.83 0.65 0.93 0.88 0.86 
##  Q33  Q34  Q35  Q36 
## 0.94 0.80 0.77 0.87

Summarizing assumptions

df <- cbind(
  sapply(colnames(fss), function(x) round(mean(fss[[x]]), digits = 3)),
  sapply(colnames(fss), function(x) round(median(fss[[x]]), digits = 3)),
  sapply(colnames(fss), function(x) round(sd(fss[[x]]), digits = 3)),
  sapply(colnames(fss), function(x) round(skew(fss[[x]]), digits = 3)),
  sapply(colnames(fss), function(x) round(kurtosi(fss[[x]]), digits = 3)),
  sapply(colnames(fss), function(x) round(shapiro.test(fss[[x]])$statistic, digits = 3)),
  sapply(colnames(fss), function(x) {
    p.val <- shapiro.test(fss[[x]])$p
    if (p.val < 0.001)
      return("< 0.001")
    else
      return(round(p.val, digits = 3))
  }),
  round(kmo_mod$MSAi, digits =3)
)
colnames(df) <- c("M","Mdn","SD","Skew","Kurtosis","W (statistic)","p.val","MSAi")

knitr::kable(df, digits = 3)
M Mdn SD Skew Kurtosis W (statistic) p.val MSAi
Q1 3.987 4 0.831 -0.953 1.368 0.814 < 0.001 0.901
Q2 3.167 3 1.164 -0.201 -0.919 0.906 < 0.001 0.891
Q3 3.306 3 0.981 -0.141 -0.738 0.895 < 0.001 0.884
Q4 3.717 4 0.886 -0.594 0.164 0.862 < 0.001 0.909
Q5 3.551 4 0.989 -0.422 -0.452 0.886 < 0.001 0.902
Q6 3.136 3 1.225 -0.227 -1.062 0.895 < 0.001 0.841
Q7 3.515 4 1.032 -0.488 -0.433 0.885 < 0.001 0.902
Q8 3.071 3 1.199 -0.127 -0.873 0.914 < 0.001 0.688
Q9 3.505 4 1.032 -0.516 -0.238 0.89 < 0.001 0.8
Q10 3.793 4 1.003 -0.586 -0.217 0.873 < 0.001 0.892
Q11 3.414 4 1.041 -0.349 -0.596 0.897 < 0.001 0.919
Q12 3.076 3 1.048 -0.072 -0.79 0.906 < 0.001 0.838
Q13 3.167 3 0.992 -0.089 -0.756 0.898 < 0.001 0.849
Q14 3.598 4 1.12 -0.689 -0.309 0.867 < 0.001 0.913
Q15 3.639 4 0.91 -0.454 -0.25 0.873 < 0.001 0.909
Q16 3.331 4 1.156 -0.224 -0.989 0.896 < 0.001 0.799
Q17 3.278 3 1.018 -0.215 -0.632 0.903 < 0.001 0.846
Q18 3.043 3 1.082 -0.049 -0.71 0.915 < 0.001 0.81
Q19 3.553 4 1.024 -0.425 -0.447 0.892 < 0.001 0.851
Q20 3.53 4 1.124 -0.385 -0.73 0.895 < 0.001 0.815
Q21 3.366 3 0.978 -0.279 -0.364 0.9 < 0.001 0.902
Q22 3.242 3 1.017 -0.252 -0.867 0.879 < 0.001 0.853
Q23 3.51 4 0.997 -0.402 -0.433 0.891 < 0.001 0.884
Q24 3.682 4 0.9 -0.395 -0.395 0.873 < 0.001 0.923
Q25 3.386 4 1.031 -0.338 -0.701 0.888 < 0.001 0.893
Q26 3.323 3 1.07 -0.309 -0.684 0.9 < 0.001 0.882
Q27 3.442 4 0.978 -0.324 -0.367 0.897 < 0.001 0.916
Q28 3.232 3 1.152 -0.074 -0.875 0.912 < 0.001 0.827
Q29 3.043 3 1.107 0.016 -0.886 0.909 < 0.001 0.648
Q30 3.841 4 0.959 -0.539 -0.399 0.866 < 0.001 0.927
Q31 3.578 4 0.926 -0.41 -0.41 0.875 < 0.001 0.876
Q32 3.669 4 1.053 -0.572 -0.492 0.869 < 0.001 0.863
Q33 3.702 4 0.867 -0.598 0.054 0.85 < 0.001 0.936
Q34 3.409 4 1.234 -0.376 -0.93 0.892 < 0.001 0.796
Q35 3.265 3 1.142 -0.244 -0.76 0.91 < 0.001 0.77
Q36 3.846 4 1.053 -0.64 -0.386 0.862 < 0.001 0.868

Exploratory Factorial Analysis (EFA)

Performing parallel factorial analysis

library(psych)
(pfa_mod <- fa.parallel(fss, fm = 'wls', fa = 'fa', cor='poly', n.iter = 1, main = "", ylabel = "", plot = F))
## Parallel analysis suggests that the number of factors =  9  and the number of components =  NA
## Call: fa.parallel(x = fss, fm = "wls", fa = "fa", main = "", n.iter = 1, 
##     ylabel = "", cor = "poly", plot = F)
## Parallel analysis suggests that the number of factors =  9  and the number of components =  NA 
## 
##  Eigen Values of 
## 
##  eigen values of factors
##  [1]  9.97  3.37  1.91  1.10  0.90  0.73  0.46  0.33  0.28  0.18  0.11  0.04
## [13] -0.03 -0.08 -0.11 -0.13 -0.18 -0.22 -0.25 -0.28 -0.30 -0.31 -0.36 -0.38
## [25] -0.39 -0.44 -0.47 -0.51 -0.55 -0.55 -0.57 -0.62 -0.63 -0.65 -0.69 -0.73
## 
##  eigen values of simulated factors
##  [1]  0.61  0.53  0.48  0.46  0.41  0.39  0.34  0.29  0.28  0.26  0.22  0.16
## [13]  0.13  0.10  0.07  0.05  0.04  0.01 -0.03 -0.05 -0.06 -0.10 -0.11 -0.16
## [25] -0.18 -0.20 -0.22 -0.25 -0.27 -0.28 -0.30 -0.34 -0.36 -0.38 -0.44 -0.46
## 
##  eigen values of components 
##  [1] 10.63  4.19  2.70  1.88  1.61  1.45  1.14  1.02  0.93  0.87  0.84  0.78
## [13]  0.66  0.62  0.59  0.55  0.50  0.48  0.44  0.41  0.39  0.38  0.33  0.32
## [25]  0.29  0.28  0.24  0.23  0.21  0.19  0.18  0.16  0.15  0.13  0.11  0.09
## 
##  eigen values of simulated components
## [1] NA
plot(pfa_mod)

Running EFA with 9 factors

efa_mod <- fa(fss, nfactors = 9, cor = 'poly', fm = 'wls')
## Loading required namespace: GPArotation
print(loadings(fa.sort(efa_mod)), cutoff = 0.3)
## 
## Loadings:
##     WLS2   WLS9   WLS8   WLS4   WLS5   WLS7   WLS6   WLS3   WLS1  
## Q22  0.869                                                        
## Q13  0.725                                                        
## Q12  0.703                                                        
## Q3   0.599                                                        
## Q21  0.592                                                        
## Q6   0.464                                                        
## Q1   0.332         0.328                                          
## Q23         0.875                                                 
## Q32         0.714                                                 
## Q5          0.598                                                 
## Q33         0.424                                                 
## Q24         0.400                                            0.386
## Q4          0.350                                                 
## Q10                0.644                                          
## Q30                0.636                                          
## Q36                0.631                                          
## Q31  0.322         0.332                                          
## Q28                       0.708                                   
## Q18                       0.691                                   
## Q8                        0.688                                   
## Q34                       0.663  0.463                            
## Q16                              0.892                            
## Q7                               0.504                            
## Q25                              0.480                       0.333
## Q17                                     0.839                     
## Q26                                     0.447                     
## Q27                                     0.362                     
## Q20                0.329                       0.682              
## Q29                                            0.671  0.464       
## Q2                                             0.597              
## Q11                                     0.344  0.451              
## Q9                                                    0.713       
## Q19                                                   0.696       
## Q35                                                   0.620       
## Q14                                                          0.506
## Q15                                                          0.435
## 
##                 WLS2  WLS9  WLS8  WLS4  WLS5  WLS7  WLS6  WLS3  WLS1
## SS loadings    3.382 2.447 2.080 2.105 1.758 1.608 1.744 1.879 1.198
## Proportion Var 0.094 0.068 0.058 0.058 0.049 0.045 0.048 0.052 0.033
## Cumulative Var 0.094 0.162 0.220 0.278 0.327 0.372 0.420 0.472 0.506

Construct validity of the long version of the FSS-BR

We decided to use the mean and variance-adjusted weighted least squares (WLSMV) estimator. WLSMV adequately performs on non-normal variables, and WLSMV is a robust estimator developed to model categorical or ordered data (5-likert scale).

Multicorrelated nine factor model (original model)

Structure validity

library(lavaan)
## This is lavaan 0.6-11
## lavaan is FREE software! Please report any bugs.
## 
## Attaching package: 'lavaan'
## The following object is masked from 'package:psych':
## 
##     cor2cov
mdl4multi <- '
CSB =~ Q1 + Q10 + Q19 + Q28
MAA =~ Q2 + Q11 + Q20 + Q29
CG  =~ Q3 + Q12 + Q21 + Q30
UF  =~ Q4 + Q13 + Q22 + Q31
CTH =~ Q5 + Q14 + Q23 + Q32
SC  =~ Q6 + Q15 + Q24 + Q33
LSC =~ Q7 + Q16 + Q25 + Q34
TT  =~ Q8 + Q17 + Q26 + Q35
AE  =~ Q9 + Q18 + Q27 + Q36

CSB ~~ MAA
CSB ~~ CG
CSB ~~ UF
CSB ~~ CTH
CSB ~~ SC
CSB ~~ LSC
CSB ~~ TT
CSB ~~ AE

MAA ~~ CG
MAA ~~ UF
MAA ~~ CTH
MAA ~~ SC
MAA ~~ LSC
MAA ~~ TT
MAA ~~ AE

CG ~~ UF
CG ~~ CTH
CG ~~ SC
CG ~~ LSC
CG ~~ TT
CG ~~ AE

UF ~~ CTH
UF ~~ SC
UF ~~ LSC
UF ~~ TT
UF ~~ AE

CTH ~~ SC
CTH ~~ LSC
CTH ~~ TT
CTH ~~ AE

SC ~~ LSC
SC ~~ TT
SC ~~ AE

LSC ~~ TT
LSC ~~ AE

TT ~~ AE
'

fit4multi <- cfa(mdl4multi, data=fss, estimator="WLSMV", std.lv=T)
## Warning in lav_samplestats_from_data(lavdata = lavdata, lavoptions = lavoptions, : lavaan WARNING: number of observations (396) too small to compute Gamma
## Warning in lav_object_post_check(object): lavaan WARNING: covariance matrix of latent variables
##                 is not positive definite;
##                 use lavInspect(fit, "cov.lv") to investigate.
standardizedsolution(fit4multi)
##     lhs op rhs est.std    se      z pvalue ci.lower ci.upper
## 1   CSB =~  Q1   0.518 0.047 11.073  0.000    0.426    0.610
## 2   CSB =~ Q10   0.640 0.042 15.399  0.000    0.558    0.721
## 3   CSB =~ Q19   0.469 0.045 10.501  0.000    0.381    0.556
## 4   CSB =~ Q28   0.466 0.046 10.129  0.000    0.376    0.556
## 5   MAA =~  Q2   0.696 0.042 16.450  0.000    0.613    0.779
## 6   MAA =~ Q11   0.793 0.048 16.607  0.000    0.699    0.886
## 7   MAA =~ Q20   0.633 0.048 13.205  0.000    0.539    0.727
## 8   MAA =~ Q29   0.346 0.067  5.167  0.000    0.214    0.477
## 9    CG =~  Q3   0.458 0.050  9.090  0.000    0.359    0.556
## 10   CG =~ Q12   0.229 0.058  3.917  0.000    0.114    0.344
## 11   CG =~ Q21   0.599 0.042 14.148  0.000    0.516    0.682
## 12   CG =~ Q30   0.667 0.048 14.005  0.000    0.573    0.760
## 13   UF =~  Q4   0.820 0.042 19.492  0.000    0.738    0.903
## 14   UF =~ Q13   0.415 0.056  7.443  0.000    0.305    0.524
## 15   UF =~ Q22   0.460 0.054  8.480  0.000    0.354    0.566
## 16   UF =~ Q31   0.654 0.046 14.323  0.000    0.564    0.743
## 17  CTH =~  Q5   0.615 0.042 14.766  0.000    0.534    0.697
## 18  CTH =~ Q14   0.541 0.044 12.430  0.000    0.456    0.626
## 19  CTH =~ Q23   0.671 0.036 18.626  0.000    0.601    0.742
## 20  CTH =~ Q32   0.642 0.041 15.823  0.000    0.563    0.722
## 21   SC =~  Q6   0.220 0.055  4.023  0.000    0.113    0.327
## 22   SC =~ Q15   0.665 0.037 18.192  0.000    0.594    0.737
## 23   SC =~ Q24   0.760 0.032 23.853  0.000    0.698    0.823
## 24   SC =~ Q33   0.676 0.034 19.788  0.000    0.609    0.743
## 25  LSC =~  Q7   0.789 0.044 17.808  0.000    0.702    0.876
## 26  LSC =~ Q16   0.694 0.046 15.046  0.000    0.604    0.785
## 27  LSC =~ Q25   0.716 0.041 17.513  0.000    0.636    0.797
## 28  LSC =~ Q34   0.542 0.051 10.736  0.000    0.443    0.642
## 29   TT =~  Q8   0.384 0.057  6.695  0.000    0.272    0.497
## 30   TT =~ Q17   0.705 0.046 15.359  0.000    0.615    0.795
## 31   TT =~ Q26   0.767 0.049 15.648  0.000    0.671    0.864
## 32   TT =~ Q35   0.434 0.057  7.664  0.000    0.323    0.545
## 33   AE =~  Q9   0.391 0.056  6.981  0.000    0.281    0.501
## 34   AE =~ Q18   0.442 0.054  8.219  0.000    0.337    0.547
## 35   AE =~ Q27   0.813 0.032 25.073  0.000    0.749    0.876
## 36   AE =~ Q36   0.668 0.040 16.710  0.000    0.590    0.746
## 37  CSB ~~ MAA   0.513 0.084  6.085  0.000    0.348    0.678
## 38  CSB ~~  CG   0.898 0.063 14.169  0.000    0.774    1.023
## 39  CSB ~~  UF   0.672 0.066 10.201  0.000    0.543    0.801
## 40  CSB ~~ CTH   0.725 0.068 10.721  0.000    0.593    0.858
## 41  CSB ~~  SC   0.797 0.057 14.087  0.000    0.686    0.908
## 42  CSB ~~ LSC   0.608 0.071  8.596  0.000    0.469    0.746
## 43  CSB ~~  TT   0.617 0.072  8.569  0.000    0.476    0.758
## 44  CSB ~~  AE   0.890 0.061 14.594  0.000    0.770    1.009
## 45  MAA ~~  CG   0.470 0.084  5.600  0.000    0.306    0.635
## 46  MAA ~~  UF   0.251 0.077  3.251  0.001    0.100    0.403
## 47  MAA ~~ CTH   0.561 0.071  7.891  0.000    0.422    0.700
## 48  MAA ~~  SC   0.430 0.076  5.655  0.000    0.281    0.579
## 49  MAA ~~ LSC   0.418 0.068  6.191  0.000    0.286    0.551
## 50  MAA ~~  TT   0.654 0.058 11.241  0.000    0.540    0.767
## 51  MAA ~~  AE   0.647 0.064 10.159  0.000    0.522    0.771
## 52   CG ~~  UF   0.937 0.050 18.811  0.000    0.839    1.034
## 53   CG ~~ CTH   0.708 0.077  9.200  0.000    0.557    0.858
## 54   CG ~~  SC   0.946 0.051 18.501  0.000    0.846    1.046
## 55   CG ~~ LSC   0.576 0.077  7.506  0.000    0.426    0.727
## 56   CG ~~  TT   0.469 0.093  5.037  0.000    0.286    0.651
## 57   CG ~~  AE   0.593 0.070  8.501  0.000    0.456    0.729
## 58   UF ~~ CTH   0.579 0.075  7.723  0.000    0.432    0.726
## 59   UF ~~  SC   0.834 0.044 19.078  0.000    0.748    0.919
## 60   UF ~~ LSC   0.452 0.073  6.227  0.000    0.310    0.594
## 61   UF ~~  TT   0.232 0.080  2.887  0.004    0.075    0.389
## 62   UF ~~  AE   0.383 0.076  5.027  0.000    0.233    0.532
## 63  CTH ~~  SC   0.936 0.048 19.495  0.000    0.842    1.030
## 64  CTH ~~ LSC   0.677 0.061 11.092  0.000    0.557    0.797
## 65  CTH ~~  TT   0.646 0.069  9.348  0.000    0.510    0.781
## 66  CTH ~~  AE   0.668 0.063 10.681  0.000    0.546    0.791
## 67   SC ~~ LSC   0.578 0.064  9.003  0.000    0.453    0.704
## 68   SC ~~  TT   0.516 0.077  6.664  0.000    0.364    0.667
## 69   SC ~~  AE   0.591 0.059 10.006  0.000    0.475    0.707
## 70  LSC ~~  TT   0.459 0.077  5.934  0.000    0.307    0.611
## 71  LSC ~~  AE   0.541 0.068  7.960  0.000    0.408    0.674
## 72   TT ~~  AE   0.860 0.052 16.635  0.000    0.759    0.961
## 73   Q1 ~~  Q1   0.732 0.048 15.091  0.000    0.637    0.827
## 74  Q10 ~~ Q10   0.590 0.053 11.102  0.000    0.486    0.695
## 75  Q19 ~~ Q19   0.780 0.042 18.640  0.000    0.698    0.862
## 76  Q28 ~~ Q28   0.783 0.043 18.296  0.000    0.699    0.867
## 77   Q2 ~~  Q2   0.515 0.059  8.741  0.000    0.400    0.631
## 78  Q11 ~~ Q11   0.372 0.076  4.911  0.000    0.223    0.520
## 79  Q20 ~~ Q20   0.600 0.061  9.883  0.000    0.481    0.718
## 80  Q29 ~~ Q29   0.881 0.046 19.051  0.000    0.790    0.971
## 81   Q3 ~~  Q3   0.790 0.046 17.143  0.000    0.700    0.881
## 82  Q12 ~~ Q12   0.948 0.027 35.382  0.000    0.895    1.000
## 83  Q21 ~~ Q21   0.641 0.051 12.631  0.000    0.542    0.740
## 84  Q30 ~~ Q30   0.555 0.063  8.746  0.000    0.431    0.680
## 85   Q4 ~~  Q4   0.327 0.069  4.736  0.000    0.192    0.462
## 86  Q13 ~~ Q13   0.828 0.046 17.921  0.000    0.737    0.919
## 87  Q22 ~~ Q22   0.788 0.050 15.794  0.000    0.691    0.886
## 88  Q31 ~~ Q31   0.573 0.060  9.595  0.000    0.456    0.690
## 89   Q5 ~~  Q5   0.621 0.051 12.119  0.000    0.521    0.722
## 90  Q14 ~~ Q14   0.707 0.047 15.015  0.000    0.615    0.800
## 91  Q23 ~~ Q23   0.549 0.048 11.343  0.000    0.454    0.644
## 92  Q32 ~~ Q32   0.588 0.052 11.269  0.000    0.485    0.690
## 93   Q6 ~~  Q6   0.952 0.024 39.567  0.000    0.904    0.999
## 94  Q15 ~~ Q15   0.557 0.049 11.448  0.000    0.462    0.653
## 95  Q24 ~~ Q24   0.422 0.048  8.712  0.000    0.327    0.517
## 96  Q33 ~~ Q33   0.543 0.046 11.756  0.000    0.452    0.634
## 97   Q7 ~~  Q7   0.377 0.070  5.393  0.000    0.240    0.514
## 98  Q16 ~~ Q16   0.518 0.064  8.083  0.000    0.392    0.644
## 99  Q25 ~~ Q25   0.487 0.059  8.306  0.000    0.372    0.602
## 100 Q34 ~~ Q34   0.706 0.055 12.874  0.000    0.598    0.813
## 101  Q8 ~~  Q8   0.852 0.044 19.332  0.000    0.766    0.939
## 102 Q17 ~~ Q17   0.503 0.065  7.780  0.000    0.376    0.630
## 103 Q26 ~~ Q26   0.411 0.075  5.459  0.000    0.263    0.559
## 104 Q35 ~~ Q35   0.812 0.049 16.518  0.000    0.715    0.908
## 105  Q9 ~~  Q9   0.847 0.044 19.330  0.000    0.761    0.933
## 106 Q18 ~~ Q18   0.805 0.048 16.931  0.000    0.712    0.898
## 107 Q27 ~~ Q27   0.339 0.053  6.435  0.000    0.236    0.442
## 108 Q36 ~~ Q36   0.554 0.053 10.376  0.000    0.449    0.659
## 109 CSB ~~ CSB   1.000 0.000     NA     NA    1.000    1.000
## 110 MAA ~~ MAA   1.000 0.000     NA     NA    1.000    1.000
## 111  CG ~~  CG   1.000 0.000     NA     NA    1.000    1.000
## 112  UF ~~  UF   1.000 0.000     NA     NA    1.000    1.000
## 113 CTH ~~ CTH   1.000 0.000     NA     NA    1.000    1.000
## 114  SC ~~  SC   1.000 0.000     NA     NA    1.000    1.000
## 115 LSC ~~ LSC   1.000 0.000     NA     NA    1.000    1.000
## 116  TT ~~  TT   1.000 0.000     NA     NA    1.000    1.000
## 117  AE ~~  AE   1.000 0.000     NA     NA    1.000    1.000
fitMeasures(fit4multi)
##                          npar                          fmin 
##                       108.000                         2.992 
##                         chisq                            df 
##                      2369.737                       558.000 
##                        pvalue                  chisq.scaled 
##                         0.000                      2101.827 
##                     df.scaled                 pvalue.scaled 
##                       558.000                         0.000 
##          chisq.scaling.factor                baseline.chisq 
##                         1.339                     14681.305 
##                   baseline.df               baseline.pvalue 
##                       630.000                         0.000 
##         baseline.chisq.scaled            baseline.df.scaled 
##                      3951.121                       630.000 
##        baseline.pvalue.scaled baseline.chisq.scaling.factor 
##                         0.000                         4.231 
##                           cfi                           tli 
##                         0.871                         0.854 
##                          nnfi                           rfi 
##                         0.854                         0.818 
##                           nfi                          pnfi 
##                         0.839                         0.743 
##                           ifi                           rni 
##                         0.872                         0.871 
##                    cfi.scaled                    tli.scaled 
##                         0.535                         0.475 
##                    cfi.robust                    tli.robust 
##                            NA                            NA 
##                   nnfi.scaled                   nnfi.robust 
##                         0.475                            NA 
##                    rfi.scaled                    nfi.scaled 
##                         0.399                         0.468 
##                    ifi.scaled                    rni.scaled 
##                         0.545                         0.535 
##                    rni.robust                         rmsea 
##                            NA                         0.091 
##                rmsea.ci.lower                rmsea.ci.upper 
##                         0.087                         0.094 
##                  rmsea.pvalue                  rmsea.scaled 
##                         0.000                         0.084 
##         rmsea.ci.lower.scaled         rmsea.ci.upper.scaled 
##                         0.080                         0.088 
##           rmsea.pvalue.scaled                  rmsea.robust 
##                         0.000                            NA 
##         rmsea.ci.lower.robust         rmsea.ci.upper.robust 
##                            NA                            NA 
##           rmsea.pvalue.robust                           rmr 
##                            NA                         0.116 
##                    rmr_nomean                          srmr 
##                         0.116                         0.102 
##                  srmr_bentler           srmr_bentler_nomean 
##                         0.102                         0.102 
##                          crmr                   crmr_nomean 
##                         0.105                         0.105 
##                    srmr_mplus             srmr_mplus_nomean 
##                         0.102                         0.102 
##                         cn_05                         cn_01 
##                       103.355                       107.452 
##                           gfi                          agfi 
##                         0.904                         0.886 
##                          pgfi                           mfi 
##                         0.758                         0.101 
##                          ecvi 
##                         6.546
library(semPlot)
semPlot::semPaths(
  fit4multi, "std", curvePivot = T, layout = "circle", rotation = 3,
  fade = T, intercepts = T, residuals = T, sizeLat = 4, sizeLat2 = 3, sizeMan = 4,
  esize = 1.5, asize = 1.5, edge.label.position = 0.55, levels = c(9.75,10,10,10))

Internal consistency

library(semTools)
## 
## ###############################################################################
## This is semTools 0.5-5
## All users of R (or SEM) are invited to submit functions or ideas for functions.
## ###############################################################################
## 
## Attaching package: 'semTools'
## The following objects are masked from 'package:psych':
## 
##     reliability, skew
## The following object is masked from 'package:readr':
## 
##     clipboard
(df <- semTools::reliability(fit4multi))
##              CSB       MAA        CG        UF       CTH        SC       LSC
## alpha  0.5936267 0.7230577 0.6044585 0.7120178 0.6978117 0.6141302 0.7771464
## omega  0.5960418 0.7172051 0.5561393 0.6728345 0.7088657 0.6355154 0.7730813
## omega2 0.5960418 0.7172051 0.5561393 0.6728345 0.7088657 0.6355154 0.7730813
## omega3 0.5943786 0.6920160 0.5089525 0.6224982 0.7206865 0.6380916 0.7654152
## avevar 0.2738922 0.4038477 0.2569347 0.3504330 0.3790097 0.3215411 0.4614085
##               TT        AE
## alpha  0.6588516 0.6692618
## omega  0.6551928 0.6705276
## omega2 0.6551928 0.6705276
## omega3 0.6396234 0.6558981
## avevar 0.3345737 0.3529141
knitr::kable(df, digits = 3)
CSB MAA CG UF CTH SC LSC TT AE
alpha 0.594 0.723 0.604 0.712 0.698 0.614 0.777 0.659 0.669
omega 0.596 0.717 0.556 0.673 0.709 0.636 0.773 0.655 0.671
omega2 0.596 0.717 0.556 0.673 0.709 0.636 0.773 0.655 0.671
omega3 0.594 0.692 0.509 0.622 0.721 0.638 0.765 0.640 0.656
avevar 0.274 0.404 0.257 0.350 0.379 0.322 0.461 0.335 0.353

Convergent validity and discriminant validity

(df <- convergentDiscriminantValidity(fit4multi, mdl4multi, fss))
## 
## Attaching package: 'olsrr'
## The following object is masked from 'package:datasets':
## 
##     rivers
##            CR       AVE      VIF    VIF.i       CSB       MAA        CG
## CSB 0.6027552 0.2738922 2.110524 1.350265 0.5233471 0.5473725 0.8529059
## MAA 0.7200508 0.4038477 1.415515 1.697888 0.5128799 0.6354901 0.4975342
## CG  0.5651241 0.2569347 2.244220 1.449625 0.8983002 0.4703605 0.5068872
## UF  0.6867922 0.3504330 2.056871 1.792668 0.6721956 0.2513787 0.9366236
## CTH 0.7122114 0.3790097 2.100689 1.784923 0.7253034 0.5610349 0.7075834
## SC  0.6853803 0.3215411 2.506635 1.619964 0.7967762 0.4301534 0.9459630
## LSC 0.7827150 0.4614085 1.489139 1.673296 0.6078765 0.4181676 0.5762290
## TT  0.6704641 0.3345737 1.763343 1.495731 0.6168442 0.6535276 0.4688284
## AE  0.6778046 0.3529141 2.141595 1.589625 0.8898975 0.6465270 0.5928125
##            UF       CTH        SC       LSC        TT        AE
## CSB 0.6823664 0.7269748 0.8414861 0.6297587 0.6607577 0.9595111
## MAA 0.3265656 0.5696953 0.4686285 0.4113716 0.6741444 0.6174888
## CG  1.0150820 0.6763847 1.0010753 0.5216722 0.4383197 0.5936177
## UF  0.5919738 0.5541886 0.8865678 0.4160803 0.2566063 0.4406559
## CTH 0.5787399 0.6156376 0.9823847 0.6880799 0.6205455 0.6408338
## SC  0.8335442 0.9357756 0.5670460 0.5810143 0.5335089 0.6588856
## LSC 0.4518117 0.6770441 0.5784911 0.6792706 0.4591919 0.5423177
## TT  0.2320013 0.6457750 0.5157380 0.4589601 0.5784235 0.8980058
## AE  0.3826463 0.6684667 0.5909376 0.5407415 0.8598428 0.5940657
knitr::kable(df, digits = 3)
CR AVE VIF VIF.i CSB MAA CG UF CTH SC LSC TT AE
CSB 0.603 0.274 2.111 1.350 0.523 0.547 0.853 0.682 0.727 0.841 0.630 0.661 0.960
MAA 0.720 0.404 1.416 1.698 0.513 0.635 0.498 0.327 0.570 0.469 0.411 0.674 0.617
CG 0.565 0.257 2.244 1.450 0.898 0.470 0.507 1.015 0.676 1.001 0.522 0.438 0.594
UF 0.687 0.350 2.057 1.793 0.672 0.251 0.937 0.592 0.554 0.887 0.416 0.257 0.441
CTH 0.712 0.379 2.101 1.785 0.725 0.561 0.708 0.579 0.616 0.982 0.688 0.621 0.641
SC 0.685 0.322 2.507 1.620 0.797 0.430 0.946 0.834 0.936 0.567 0.581 0.534 0.659
LSC 0.783 0.461 1.489 1.673 0.608 0.418 0.576 0.452 0.677 0.578 0.679 0.459 0.542
TT 0.670 0.335 1.763 1.496 0.617 0.654 0.469 0.232 0.646 0.516 0.459 0.578 0.898
AE 0.678 0.353 2.142 1.590 0.890 0.647 0.593 0.383 0.668 0.591 0.541 0.860 0.594

Second order model (36 itens and 9 factors)

Structure validity

library(lavaan)

mdl4second <- '
CSB =~ Q1 + Q10 + Q19 + Q28
MAA =~ Q2 + Q11 + Q20 + Q29
CG  =~ Q3 + Q12 + Q21 + Q30
UF  =~ Q4 + Q13 + Q22 + Q31
CTH =~ Q5 + Q14 + Q23 + Q32
SC  =~ Q6 + Q15 + Q24 + Q33
LSC =~ Q7 + Q16 + Q25 + Q34
TT  =~ Q8 + Q17 + Q26 + Q35
AE  =~ Q9 + Q18 + Q27 + Q36

FSS  =~ CSB + MAA + CG + UF + CTH + SC + LSC + TT + AE

CSB ~~ 0*MAA
CSB ~~ 0*CG
CSB ~~ 0*UF
CSB ~~ 0*CTH
CSB ~~ 0*SC
CSB ~~ 0*LSC
CSB ~~ 0*TT
CSB ~~ 0*AE

MAA ~~ 0*CG
MAA ~~ 0*UF
MAA ~~ 0*CTH
MAA ~~ 0*SC
MAA ~~ 0*LSC
MAA ~~ 0*TT
MAA ~~ 0*AE

CG ~~ 0*UF
CG ~~ 0*CTH
CG ~~ 0*SC
CG ~~ 0*LSC
CG ~~ 0*TT
CG ~~ 0*AE

UF ~~ 0*CTH
UF ~~ 0*SC
UF ~~ 0*LSC
UF ~~ 0*TT
UF ~~ 0*AE

CTH ~~ 0*SC
CTH ~~ 0*LSC
CTH ~~ 0*TT
CTH ~~ 0*AE

SC ~~ 0*LSC
SC ~~ 0*TT
SC ~~ 0*AE

LSC ~~ 0*TT
LSC ~~ 0*AE

TT ~~ 0*AE
'

fit4second <-cfa(mdl4second, data=fss, estimator="WLSMV", std.lv=T)
## Warning in lav_samplestats_from_data(lavdata = lavdata, lavoptions = lavoptions, : lavaan WARNING: number of observations (396) too small to compute Gamma
standardizedSolution(fit4second)
##     lhs op rhs est.std    se      z pvalue ci.lower ci.upper
## 1   CSB =~  Q1   0.523 0.047 11.183  0.000    0.431    0.615
## 2   CSB =~ Q10   0.645 0.042 15.304  0.000    0.563    0.728
## 3   CSB =~ Q19   0.458 0.046 10.072  0.000    0.369    0.548
## 4   CSB =~ Q28   0.465 0.047  9.962  0.000    0.373    0.556
## 5   MAA =~  Q2   0.697 0.044 15.665  0.000    0.609    0.784
## 6   MAA =~ Q11   0.801 0.050 15.939  0.000    0.702    0.899
## 7   MAA =~ Q20   0.633 0.051 12.530  0.000    0.534    0.732
## 8   MAA =~ Q29   0.323 0.069  4.718  0.000    0.189    0.458
## 9    CG =~  Q3   0.433 0.052  8.253  0.000    0.330    0.536
## 10   CG =~ Q12   0.182 0.062  2.941  0.003    0.061    0.303
## 11   CG =~ Q21   0.584 0.045 13.079  0.000    0.497    0.672
## 12   CG =~ Q30   0.700 0.050 14.140  0.000    0.603    0.797
## 13   UF =~  Q4   0.847 0.047 17.983  0.000    0.755    0.939
## 14   UF =~ Q13   0.371 0.062  6.025  0.000    0.250    0.492
## 15   UF =~ Q22   0.415 0.060  6.938  0.000    0.298    0.532
## 16   UF =~ Q31   0.667 0.049 13.495  0.000    0.570    0.764
## 17  CTH =~  Q5   0.614 0.042 14.625  0.000    0.532    0.697
## 18  CTH =~ Q14   0.539 0.044 12.319  0.000    0.453    0.625
## 19  CTH =~ Q23   0.674 0.036 18.601  0.000    0.603    0.745
## 20  CTH =~ Q32   0.644 0.041 15.832  0.000    0.564    0.724
## 21   SC =~  Q6   0.193 0.057  3.376  0.001    0.081    0.305
## 22   SC =~ Q15   0.661 0.037 17.661  0.000    0.588    0.735
## 23   SC =~ Q24   0.775 0.033 23.674  0.000    0.711    0.839
## 24   SC =~ Q33   0.680 0.035 19.603  0.000    0.612    0.748
## 25  LSC =~  Q7   0.787 0.044 17.764  0.000    0.701    0.874
## 26  LSC =~ Q16   0.695 0.046 15.032  0.000    0.604    0.785
## 27  LSC =~ Q25   0.719 0.041 17.532  0.000    0.639    0.799
## 28  LSC =~ Q34   0.541 0.051 10.674  0.000    0.442    0.640
## 29   TT =~  Q8   0.379 0.060  6.284  0.000    0.261    0.497
## 30   TT =~ Q17   0.713 0.048 14.775  0.000    0.619    0.808
## 31   TT =~ Q26   0.782 0.053 14.826  0.000    0.678    0.885
## 32   TT =~ Q35   0.407 0.059  6.846  0.000    0.290    0.523
## 33   AE =~  Q9   0.384 0.059  6.551  0.000    0.269    0.498
## 34   AE =~ Q18   0.439 0.055  7.920  0.000    0.331    0.548
## 35   AE =~ Q27   0.830 0.035 23.756  0.000    0.761    0.898
## 36   AE =~ Q36   0.659 0.042 15.832  0.000    0.578    0.741
## 37  FSS =~ CSB   0.917 0.038 24.293  0.000    0.843    0.991
## 38  FSS =~ MAA   0.615 0.061 10.063  0.000    0.495    0.734
## 39  FSS =~  CG   0.901 0.045 19.950  0.000    0.812    0.989
## 40  FSS =~  UF   0.674 0.049 13.773  0.000    0.578    0.770
## 41  FSS =~ CTH   0.900 0.040 22.596  0.000    0.822    0.978
## 42  FSS =~  SC   0.901 0.028 32.413  0.000    0.847    0.956
## 43  FSS =~ LSC   0.674 0.048 14.116  0.000    0.580    0.768
## 44  FSS =~  TT   0.701 0.060 11.740  0.000    0.584    0.818
## 45  FSS =~  AE   0.811 0.038 21.611  0.000    0.737    0.884
## 46  CSB ~~ MAA   0.000 0.000     NA     NA    0.000    0.000
## 47  CSB ~~  CG   0.000 0.000     NA     NA    0.000    0.000
## 48  CSB ~~  UF   0.000 0.000     NA     NA    0.000    0.000
## 49  CSB ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 50  CSB ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 51  CSB ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 52  CSB ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 53  CSB ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 54  MAA ~~  CG   0.000 0.000     NA     NA    0.000    0.000
## 55  MAA ~~  UF   0.000 0.000     NA     NA    0.000    0.000
## 56  MAA ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 57  MAA ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 58  MAA ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 59  MAA ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 60  MAA ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 61   CG ~~  UF   0.000 0.000     NA     NA    0.000    0.000
## 62   CG ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 63   CG ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 64   CG ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 65   CG ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 66   CG ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 67   UF ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 68   UF ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 69   UF ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 70   UF ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 71   UF ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 72  CTH ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 73  CTH ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 74  CTH ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 75  CTH ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 76   SC ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 77   SC ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 78   SC ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 79  LSC ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 80  LSC ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 81   TT ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 82   Q1 ~~  Q1   0.726 0.049 14.849  0.000    0.631    0.822
## 83  Q10 ~~ Q10   0.584 0.054 10.726  0.000    0.477    0.690
## 84  Q19 ~~ Q19   0.790 0.042 18.921  0.000    0.708    0.872
## 85  Q28 ~~ Q28   0.784 0.043 18.079  0.000    0.699    0.869
## 86   Q2 ~~  Q2   0.515 0.062  8.306  0.000    0.393    0.636
## 87  Q11 ~~ Q11   0.359 0.080  4.454  0.000    0.201    0.516
## 88  Q20 ~~ Q20   0.599 0.064  9.369  0.000    0.474    0.725
## 89  Q29 ~~ Q29   0.896 0.044 20.217  0.000    0.809    0.982
## 90   Q3 ~~  Q3   0.813 0.045 17.896  0.000    0.724    0.902
## 91  Q12 ~~ Q12   0.967 0.022 43.152  0.000    0.923    1.011
## 92  Q21 ~~ Q21   0.659 0.052 12.619  0.000    0.556    0.761
## 93  Q30 ~~ Q30   0.510 0.069  7.349  0.000    0.374    0.646
## 94   Q4 ~~  Q4   0.283 0.080  3.540  0.000    0.126    0.439
## 95  Q13 ~~ Q13   0.862 0.046 18.880  0.000    0.773    0.952
## 96  Q22 ~~ Q22   0.828 0.050 16.662  0.000    0.730    0.925
## 97  Q31 ~~ Q31   0.555 0.066  8.403  0.000    0.425    0.684
## 98   Q5 ~~  Q5   0.623 0.052 12.058  0.000    0.521    0.724
## 99  Q14 ~~ Q14   0.709 0.047 15.043  0.000    0.617    0.802
## 100 Q23 ~~ Q23   0.546 0.049 11.185  0.000    0.450    0.642
## 101 Q32 ~~ Q32   0.585 0.052 11.167  0.000    0.482    0.688
## 102  Q6 ~~  Q6   0.963 0.022 43.791  0.000    0.920    1.006
## 103 Q15 ~~ Q15   0.562 0.050 11.353  0.000    0.465    0.660
## 104 Q24 ~~ Q24   0.400 0.051  7.888  0.000    0.301    0.499
## 105 Q33 ~~ Q33   0.538 0.047 11.395  0.000    0.445    0.630
## 106  Q7 ~~  Q7   0.380 0.070  5.440  0.000    0.243    0.517
## 107 Q16 ~~ Q16   0.517 0.064  8.057  0.000    0.392    0.643
## 108 Q25 ~~ Q25   0.483 0.059  8.192  0.000    0.368    0.599
## 109 Q34 ~~ Q34   0.708 0.055 12.910  0.000    0.600    0.815
## 110  Q8 ~~  Q8   0.856 0.046 18.737  0.000    0.767    0.946
## 111 Q17 ~~ Q17   0.491 0.069  7.137  0.000    0.356    0.626
## 112 Q26 ~~ Q26   0.389 0.082  4.716  0.000    0.227    0.550
## 113 Q35 ~~ Q35   0.835 0.048 17.292  0.000    0.740    0.929
## 114  Q9 ~~  Q9   0.853 0.045 18.975  0.000    0.765    0.941
## 115 Q18 ~~ Q18   0.807 0.049 16.569  0.000    0.712    0.903
## 116 Q27 ~~ Q27   0.312 0.058  5.375  0.000    0.198    0.425
## 117 Q36 ~~ Q36   0.565 0.055 10.299  0.000    0.458    0.673
## 118 CSB ~~ CSB   0.159 0.069  2.293  0.022    0.023    0.295
## 119 MAA ~~ MAA   0.622 0.075  8.288  0.000    0.475    0.769
## 120  CG ~~  CG   0.189 0.081  2.318  0.020    0.029    0.348
## 121  UF ~~  UF   0.546 0.066  8.287  0.000    0.417    0.675
## 122 CTH ~~ CTH   0.190 0.072  2.647  0.008    0.049    0.330
## 123  SC ~~  SC   0.188 0.050  3.754  0.000    0.090    0.286
## 124 LSC ~~ LSC   0.546 0.064  8.481  0.000    0.420    0.672
## 125  TT ~~  TT   0.509 0.084  6.077  0.000    0.345    0.673
## 126  AE ~~  AE   0.343 0.061  5.642  0.000    0.224    0.462
## 127 FSS ~~ FSS   1.000 0.000     NA     NA    1.000    1.000
fitMeasures(fit4second)
##                          npar                          fmin 
##                        81.000                         3.499 
##                         chisq                            df 
##                      2771.034                       585.000 
##                        pvalue                  chisq.scaled 
##                         0.000                      2149.296 
##                     df.scaled                 pvalue.scaled 
##                       585.000                         0.000 
##          chisq.scaling.factor                baseline.chisq 
##                         1.551                     14681.305 
##                   baseline.df               baseline.pvalue 
##                       630.000                         0.000 
##         baseline.chisq.scaled            baseline.df.scaled 
##                      3951.121                       630.000 
##        baseline.pvalue.scaled baseline.chisq.scaling.factor 
##                         0.000                         4.231 
##                           cfi                           tli 
##                         0.844                         0.832 
##                          nnfi                           rfi 
##                         0.832                         0.797 
##                           nfi                          pnfi 
##                         0.811                         0.753 
##                           ifi                           rni 
##                         0.845                         0.844 
##                    cfi.scaled                    tli.scaled 
##                         0.529                         0.493 
##                    cfi.robust                    tli.robust 
##                            NA                            NA 
##                   nnfi.scaled                   nnfi.robust 
##                         0.493                            NA 
##                    rfi.scaled                    nfi.scaled 
##                         0.414                         0.456 
##                    ifi.scaled                    rni.scaled 
##                         0.535                         0.529 
##                    rni.robust                         rmsea 
##                            NA                         0.097 
##                rmsea.ci.lower                rmsea.ci.upper 
##                         0.094                         0.101 
##                  rmsea.pvalue                  rmsea.scaled 
##                         0.000                         0.082 
##         rmsea.ci.lower.scaled         rmsea.ci.upper.scaled 
##                         0.079                         0.086 
##           rmsea.pvalue.scaled                  rmsea.robust 
##                         0.000                            NA 
##         rmsea.ci.lower.robust         rmsea.ci.upper.robust 
##                            NA                            NA 
##           rmsea.pvalue.robust                           rmr 
##                            NA                         0.125 
##                    rmr_nomean                          srmr 
##                         0.125                         0.111 
##                  srmr_bentler           srmr_bentler_nomean 
##                         0.111                         0.111 
##                          crmr                   crmr_nomean 
##                         0.114                         0.114 
##                    srmr_mplus             srmr_mplus_nomean 
##                         0.111                         0.111 
##                         cn_05                         cn_01 
##                        92.568                        96.150 
##                           gfi                          agfi 
##                         0.888                         0.873 
##                          pgfi                           mfi 
##                         0.780                         0.063 
##                          ecvi 
##                         7.425
library(semPlot)
semPlot::semPaths(
  fit4second, "std", curvePivot = T, layout = "tree", rotation = 1,
  fade = T, intercepts = T, residuals = T, esize = 1.5, asize = 1.5)

Internal consistency

library(semTools)
semTools::reliabilityL2(fit4second, "FSS")
##        omegaL1        omegaL2 partialOmegaL1 
##      0.8576015      0.9528720      0.9161821
(df <- semTools::reliability(fit4second, return.total = T))
##              CSB       MAA        CG        UF       CTH        SC       LSC
## alpha  0.5936267 0.7230577 0.6044585 0.7120178 0.6978117 0.6141302 0.7771464
## omega  0.5954992 0.7146745 0.5397522 0.6598326 0.7091786 0.6311211 0.7729580
## omega2 0.5954992 0.7146745 0.5397522 0.6598326 0.7091786 0.6311211 0.7729580
## omega3 0.5931738 0.6841776 0.4792408 0.5930998 0.7212836 0.6259358 0.7651055
## avevar 0.2737284 0.4032213 0.2524549 0.3438343 0.3794386 0.3217542 0.4612470
##               TT        AE     total
## alpha  0.6588516 0.6692618 0.9064489
## omega  0.6528319 0.6703087 0.9215414
## omega2 0.6528319 0.6703087 0.9215414
## omega3 0.6326085 0.6541159 0.9042825
## avevar 0.3349686 0.3540319 0.3515626
knitr::kable(df, digits = 3)
CSB MAA CG UF CTH SC LSC TT AE total
alpha 0.594 0.723 0.604 0.712 0.698 0.614 0.777 0.659 0.669 0.906
omega 0.595 0.715 0.540 0.660 0.709 0.631 0.773 0.653 0.670 0.922
omega2 0.595 0.715 0.540 0.660 0.709 0.631 0.773 0.653 0.670 0.922
omega3 0.593 0.684 0.479 0.593 0.721 0.626 0.765 0.633 0.654 0.904
avevar 0.274 0.403 0.252 0.344 0.379 0.322 0.461 0.335 0.354 0.352

Convergent validity and discriminant validity

(df <- convergentDiscriminantValidity(fit4second, mdl4second, fss, "FSS"))
## Warning in cbind(CR, AVE, VIF, VIF.i, df): number of rows of result is not a
## multiple of vector length (arg 3)
##            CR       AVE      VIF    VIF.i       CSB       MAA        CG
## CSB 0.6026789 0.2737284 2.110524 1.350265 0.5231906 0.5473725 0.8529059
## MAA 0.7177382 0.4032213 1.415515 1.697888 0.5636998 0.6349971 0.4975342
## CG  0.5501836 0.2524549 2.244220 1.449625 0.8261945 0.5536503 0.5024489
## UF  0.6767978 0.3438343 2.056871 1.792668 0.6178836 0.4140567 0.6068680
## CTH 0.7125909 0.3794386 2.100689 1.784923 0.8255545 0.5532214 0.8108366
## SC  0.6839725 0.3217542 2.506635 1.619964 0.8264220 0.5538027 0.8116886
## LSC 0.7826656 0.4612470 1.489139 1.673296 0.6181269 0.4142198 0.6071071
## TT  0.6691425 0.3349686 1.763343 1.495731 0.6428811 0.4308081 0.6314199
## AE  0.6781292 0.3540319 2.141595 1.589625 0.7433918 0.4981625 0.7301387
## FSS 0.9385987 0.3515626 2.110524 1.350265 0.9171647 0.6146113 0.9008136
##            UF       CTH        SC       LSC        TT        AE       FSS
## CSB 0.6823664 0.7269748 0.8414861 0.6297587 0.6607577 0.9595111        NA
## MAA 0.3265656 0.5696953 0.4686285 0.4113716 0.6741444 0.6174888        NA
## CG  1.0150820 0.6763847 1.0010753 0.5216722 0.4383197 0.5936177        NA
## UF  0.5863739 0.5541886 0.8865678 0.4160803 0.2566063 0.4406559        NA
## CTH 0.6063979 0.6159859 0.9823847 0.6880799 0.6205455 0.6408338        NA
## SC  0.6070351 0.8110599 0.5672338 0.5810143 0.5335089 0.6588856        NA
## LSC 0.4540353 0.6066368 0.6072742 0.6791517 0.4591919 0.5423177        NA
## TT  0.4722181 0.6309308 0.6315938 0.4724041 0.5787647 0.8980058        NA
## AE  0.5460466 0.7295731 0.7303398 0.5462617 0.5681379 0.5950058        NA
## FSS 0.6736887 0.9001158 0.9010617 0.6739541 0.7009440 0.8105325 0.5929271
knitr::kable(df, digits = 3)
CR AVE VIF VIF.i CSB MAA CG UF CTH SC LSC TT AE FSS
CSB 0.603 0.274 2.111 1.350 0.523 0.547 0.853 0.682 0.727 0.841 0.630 0.661 0.960 NA
MAA 0.718 0.403 1.416 1.698 0.564 0.635 0.498 0.327 0.570 0.469 0.411 0.674 0.617 NA
CG 0.550 0.252 2.244 1.450 0.826 0.554 0.502 1.015 0.676 1.001 0.522 0.438 0.594 NA
UF 0.677 0.344 2.057 1.793 0.618 0.414 0.607 0.586 0.554 0.887 0.416 0.257 0.441 NA
CTH 0.713 0.379 2.101 1.785 0.826 0.553 0.811 0.606 0.616 0.982 0.688 0.621 0.641 NA
SC 0.684 0.322 2.507 1.620 0.826 0.554 0.812 0.607 0.811 0.567 0.581 0.534 0.659 NA
LSC 0.783 0.461 1.489 1.673 0.618 0.414 0.607 0.454 0.607 0.607 0.679 0.459 0.542 NA
TT 0.669 0.335 1.763 1.496 0.643 0.431 0.631 0.472 0.631 0.632 0.472 0.579 0.898 NA
AE 0.678 0.354 2.142 1.590 0.743 0.498 0.730 0.546 0.730 0.730 0.546 0.568 0.595 NA
FSS 0.939 0.352 2.111 1.350 0.917 0.615 0.901 0.674 0.900 0.901 0.674 0.701 0.811 0.593

Multicorrelated nine factor model (31 itens and nine factors)

Structure validity

library(lavaan)

mdl4multi31 <- '
CSB =~ Q1 + Q10 + Q19 + Q28
MAA =~ Q2 + Q11 + Q20
CG  =~ Q3 +       Q21 + Q30
UF  =~ Q4 + Q13 + Q22 + Q31
CTH =~ Q5 + Q14 + Q23 + Q32
SC  =~      Q15 + Q24 + Q33
LSC =~ Q7 + Q16 + Q25 + Q34
TT  =~      Q17 + Q26 + Q35
AE  =~      Q18 + Q27 + Q36

CSB ~~ MAA
CSB ~~ CG
CSB ~~ UF
CSB ~~ CTH
CSB ~~ SC
CSB ~~ LSC
CSB ~~ TT
CSB ~~ AE

MAA ~~ CG
MAA ~~ UF
MAA ~~ CTH
MAA ~~ SC
MAA ~~ LSC
MAA ~~ TT
MAA ~~ AE

CG ~~ UF
CG ~~ CTH
CG ~~ SC
CG ~~ LSC
CG ~~ TT
CG ~~ AE

UF ~~ CTH
UF ~~ SC
UF ~~ LSC
UF ~~ TT
UF ~~ AE

CTH ~~ SC
CTH ~~ LSC
CTH ~~ TT
CTH ~~ AE

SC ~~ LSC
SC ~~ TT
SC ~~ AE

LSC ~~ TT
LSC ~~ AE

TT ~~ AE
'

fit4multi31 <- cfa(mdl4multi31, data=fss, estimator="WLSMV", std.lv=T)
## Warning in lav_samplestats_from_data(lavdata = lavdata, lavoptions = lavoptions, : lavaan WARNING: number of observations (396) too small to compute Gamma
## Warning in lav_object_post_check(object): lavaan WARNING: covariance matrix of latent variables
##                 is not positive definite;
##                 use lavInspect(fit, "cov.lv") to investigate.
standardizedsolution(fit4multi31)
##     lhs op rhs est.std    se      z pvalue ci.lower ci.upper
## 1   CSB =~  Q1   0.537 0.047 11.338  0.000    0.444    0.630
## 2   CSB =~ Q10   0.660 0.042 15.598  0.000    0.577    0.743
## 3   CSB =~ Q19   0.443 0.047  9.355  0.000    0.350    0.535
## 4   CSB =~ Q28   0.453 0.048  9.498  0.000    0.359    0.546
## 5   MAA =~  Q2   0.687 0.041 16.848  0.000    0.607    0.767
## 6   MAA =~ Q11   0.768 0.045 17.147  0.000    0.680    0.856
## 7   MAA =~ Q20   0.617 0.049 12.512  0.000    0.521    0.714
## 8    CG =~  Q3   0.405 0.052  7.849  0.000    0.304    0.506
## 9    CG =~ Q21   0.560 0.043 12.960  0.000    0.476    0.645
## 10   CG =~ Q30   0.665 0.046 14.351  0.000    0.574    0.756
## 11   UF =~  Q4   0.847 0.044 19.199  0.000    0.760    0.933
## 12   UF =~ Q13   0.371 0.059  6.268  0.000    0.255    0.487
## 13   UF =~ Q22   0.420 0.057  7.315  0.000    0.307    0.532
## 14   UF =~ Q31   0.666 0.046 14.416  0.000    0.575    0.756
## 15  CTH =~  Q5   0.600 0.041 14.503  0.000    0.519    0.681
## 16  CTH =~ Q14   0.544 0.043 12.707  0.000    0.461    0.628
## 17  CTH =~ Q23   0.671 0.035 18.965  0.000    0.602    0.740
## 18  CTH =~ Q32   0.652 0.039 16.566  0.000    0.575    0.729
## 19   SC =~ Q15   0.658 0.037 17.711  0.000    0.585    0.730
## 20   SC =~ Q24   0.772 0.031 24.736  0.000    0.711    0.833
## 21   SC =~ Q33   0.686 0.033 20.524  0.000    0.620    0.751
## 22  LSC =~  Q7   0.789 0.043 18.324  0.000    0.705    0.874
## 23  LSC =~ Q16   0.697 0.045 15.396  0.000    0.608    0.786
## 24  LSC =~ Q25   0.727 0.040 18.129  0.000    0.648    0.805
## 25  LSC =~ Q34   0.526 0.051 10.263  0.000    0.425    0.626
## 26   TT =~ Q17   0.701 0.047 14.989  0.000    0.610    0.793
## 27   TT =~ Q26   0.776 0.047 16.637  0.000    0.684    0.867
## 28   TT =~ Q35   0.377 0.058  6.490  0.000    0.263    0.491
## 29   AE =~ Q18   0.389 0.057  6.881  0.000    0.278    0.500
## 30   AE =~ Q27   0.815 0.031 26.393  0.000    0.754    0.875
## 31   AE =~ Q36   0.677 0.037 18.201  0.000    0.604    0.750
## 32  CSB ~~ MAA   0.503 0.081  6.231  0.000    0.345    0.661
## 33  CSB ~~  CG   0.936 0.068 13.754  0.000    0.802    1.069
## 34  CSB ~~  UF   0.666 0.066 10.157  0.000    0.538    0.795
## 35  CSB ~~ CTH   0.725 0.068 10.716  0.000    0.592    0.858
## 36  CSB ~~  SC   0.780 0.057 13.635  0.000    0.668    0.892
## 37  CSB ~~ LSC   0.602 0.070  8.549  0.000    0.464    0.740
## 38  CSB ~~  TT   0.596 0.069  8.624  0.000    0.460    0.731
## 39  CSB ~~  AE   0.834 0.061 13.773  0.000    0.715    0.952
## 40  MAA ~~  CG   0.587 0.080  7.372  0.000    0.431    0.743
## 41  MAA ~~  UF   0.285 0.075  3.798  0.000    0.138    0.432
## 42  MAA ~~ CTH   0.614 0.068  9.023  0.000    0.481    0.747
## 43  MAA ~~  SC   0.509 0.070  7.242  0.000    0.372    0.647
## 44  MAA ~~ LSC   0.434 0.066  6.599  0.000    0.305    0.563
## 45  MAA ~~  TT   0.665 0.056 11.973  0.000    0.556    0.773
## 46  MAA ~~  AE   0.708 0.061 11.702  0.000    0.590    0.827
## 47   CG ~~  UF   0.897 0.056 15.890  0.000    0.786    1.008
## 48   CG ~~ CTH   0.780 0.078  9.974  0.000    0.627    0.933
## 49   CG ~~  SC   0.946 0.055 17.258  0.000    0.838    1.053
## 50   CG ~~ LSC   0.607 0.079  7.680  0.000    0.452    0.762
## 51   CG ~~  TT   0.579 0.090  6.452  0.000    0.403    0.755
## 52   CG ~~  AE   0.681 0.072  9.489  0.000    0.540    0.821
## 53   UF ~~ CTH   0.589 0.075  7.877  0.000    0.442    0.735
## 54   UF ~~  SC   0.800 0.045 17.679  0.000    0.711    0.889
## 55   UF ~~ LSC   0.455 0.072  6.315  0.000    0.314    0.596
## 56   UF ~~  TT   0.238 0.077  3.083  0.002    0.087    0.390
## 57   UF ~~  AE   0.375 0.076  4.932  0.000    0.226    0.525
## 58  CTH ~~  SC   0.940 0.046 20.258  0.000    0.849    1.031
## 59  CTH ~~ LSC   0.678 0.061 11.125  0.000    0.558    0.797
## 60  CTH ~~  TT   0.692 0.067 10.387  0.000    0.561    0.822
## 61  CTH ~~  AE   0.705 0.062 11.325  0.000    0.583    0.827
## 62   SC ~~ LSC   0.580 0.062  9.308  0.000    0.458    0.702
## 63   SC ~~  TT   0.579 0.072  8.050  0.000    0.438    0.720
## 64   SC ~~  AE   0.619 0.060 10.379  0.000    0.502    0.736
## 65  LSC ~~  TT   0.470 0.076  6.174  0.000    0.321    0.619
## 66  LSC ~~  AE   0.560 0.069  8.121  0.000    0.425    0.696
## 67   TT ~~  AE   0.881 0.051 17.386  0.000    0.782    0.981
## 68   Q1 ~~  Q1   0.712 0.051 14.005  0.000    0.612    0.811
## 69  Q10 ~~ Q10   0.565 0.056 10.114  0.000    0.455    0.674
## 70  Q19 ~~ Q19   0.804 0.042 19.209  0.000    0.722    0.886
## 71  Q28 ~~ Q28   0.795 0.043 18.410  0.000    0.710    0.880
## 72   Q2 ~~  Q2   0.528 0.056  9.417  0.000    0.418    0.638
## 73  Q11 ~~ Q11   0.411 0.069  5.971  0.000    0.276    0.545
## 74  Q20 ~~ Q20   0.619 0.061 10.158  0.000    0.499    0.738
## 75   Q3 ~~  Q3   0.836 0.042 19.974  0.000    0.754    0.918
## 76  Q21 ~~ Q21   0.686 0.048 14.155  0.000    0.591    0.781
## 77  Q30 ~~ Q30   0.558 0.062  9.049  0.000    0.437    0.679
## 78   Q4 ~~  Q4   0.283 0.075  3.794  0.000    0.137    0.430
## 79  Q13 ~~ Q13   0.863 0.044 19.660  0.000    0.777    0.949
## 80  Q22 ~~ Q22   0.824 0.048 17.107  0.000    0.729    0.918
## 81  Q31 ~~ Q31   0.557 0.061  9.059  0.000    0.436    0.677
## 82   Q5 ~~  Q5   0.640 0.050 12.869  0.000    0.542    0.737
## 83  Q14 ~~ Q14   0.704 0.047 15.077  0.000    0.612    0.795
## 84  Q23 ~~ Q23   0.550 0.047 11.578  0.000    0.457    0.643
## 85  Q32 ~~ Q32   0.575 0.051 11.203  0.000    0.474    0.676
## 86  Q15 ~~ Q15   0.568 0.049 11.622  0.000    0.472    0.663
## 87  Q24 ~~ Q24   0.404 0.048  8.377  0.000    0.309    0.498
## 88  Q33 ~~ Q33   0.530 0.046 11.569  0.000    0.440    0.620
## 89   Q7 ~~  Q7   0.377 0.068  5.542  0.000    0.244    0.510
## 90  Q16 ~~ Q16   0.514 0.063  8.142  0.000    0.390    0.638
## 91  Q25 ~~ Q25   0.472 0.058  8.109  0.000    0.358    0.586
## 92  Q34 ~~ Q34   0.724 0.054 13.437  0.000    0.618    0.829
## 93  Q17 ~~ Q17   0.508 0.066  7.738  0.000    0.379    0.637
## 94  Q26 ~~ Q26   0.398 0.072  5.509  0.000    0.257    0.540
## 95  Q35 ~~ Q35   0.858 0.044 19.592  0.000    0.772    0.944
## 96  Q18 ~~ Q18   0.849 0.044 19.304  0.000    0.763    0.935
## 97  Q27 ~~ Q27   0.336 0.050  6.676  0.000    0.237    0.435
## 98  Q36 ~~ Q36   0.541 0.050 10.740  0.000    0.443    0.640
## 99  CSB ~~ CSB   1.000 0.000     NA     NA    1.000    1.000
## 100 MAA ~~ MAA   1.000 0.000     NA     NA    1.000    1.000
## 101  CG ~~  CG   1.000 0.000     NA     NA    1.000    1.000
## 102  UF ~~  UF   1.000 0.000     NA     NA    1.000    1.000
## 103 CTH ~~ CTH   1.000 0.000     NA     NA    1.000    1.000
## 104  SC ~~  SC   1.000 0.000     NA     NA    1.000    1.000
## 105 LSC ~~ LSC   1.000 0.000     NA     NA    1.000    1.000
## 106  TT ~~  TT   1.000 0.000     NA     NA    1.000    1.000
## 107  AE ~~  AE   1.000 0.000     NA     NA    1.000    1.000
fitMeasures(fit4multi31)
##                          npar                          fmin 
##                        98.000                         1.556 
##                         chisq                            df 
##                      1232.684                       398.000 
##                        pvalue                  chisq.scaled 
##                         0.000                      1365.510 
##                     df.scaled                 pvalue.scaled 
##                       398.000                         0.000 
##          chisq.scaling.factor                baseline.chisq 
##                         1.070                     12636.298 
##                   baseline.df               baseline.pvalue 
##                       465.000                         0.000 
##         baseline.chisq.scaled            baseline.df.scaled 
##                      3479.024                       465.000 
##        baseline.pvalue.scaled baseline.chisq.scaling.factor 
##                         0.000                         4.038 
##                           cfi                           tli 
##                         0.931                         0.920 
##                          nnfi                           rfi 
##                         0.920                         0.886 
##                           nfi                          pnfi 
##                         0.902                         0.772 
##                           ifi                           rni 
##                         0.932                         0.931 
##                    cfi.scaled                    tli.scaled 
##                         0.679                         0.625 
##                    cfi.robust                    tli.robust 
##                            NA                            NA 
##                   nnfi.scaled                   nnfi.robust 
##                         0.625                            NA 
##                    rfi.scaled                    nfi.scaled 
##                         0.541                         0.608 
##                    ifi.scaled                    rni.scaled 
##                         0.686                         0.679 
##                    rni.robust                         rmsea 
##                            NA                         0.073 
##                rmsea.ci.lower                rmsea.ci.upper 
##                         0.068                         0.078 
##                  rmsea.pvalue                  rmsea.scaled 
##                         0.000                         0.078 
##         rmsea.ci.lower.scaled         rmsea.ci.upper.scaled 
##                         0.074                         0.083 
##           rmsea.pvalue.scaled                  rmsea.robust 
##                         0.000                            NA 
##         rmsea.ci.lower.robust         rmsea.ci.upper.robust 
##                            NA                            NA 
##           rmsea.pvalue.robust                           rmr 
##                            NA                         0.094 
##                    rmr_nomean                          srmr 
##                         0.094                         0.086 
##                  srmr_bentler           srmr_bentler_nomean 
##                         0.086                         0.086 
##                          crmr                   crmr_nomean 
##                         0.089                         0.089 
##                    srmr_mplus             srmr_mplus_nomean 
##                         0.086                         0.086 
##                         cn_05                         cn_01 
##                       143.761                       150.504 
##                           gfi                          agfi 
##                         0.942                         0.927 
##                          pgfi                           mfi 
##                         0.756                         0.348 
##                          ecvi 
##                         3.617
library(semPlot)
semPlot::semPaths(
  fit4multi, "std", curvePivot = T, layout = "circle", rotation = 3,
  fade = T, intercepts = T, residuals = T, sizeLat = 4, sizeLat2 = 3, sizeMan = 4,
  esize = 1.5, asize = 1.5, edge.label.position = 0.55, levels = c(9.75,10,10,10))

Internal consistency

library(semTools)
(df <- semTools::reliability(fit4multi31))
##              CSB       MAA        CG        UF       CTH        SC       LSC
## alpha  0.5936267 0.7347327 0.5694930 0.7120178 0.6978117 0.7462389 0.7771464
## omega  0.5945330 0.7303022 0.5595403 0.6604794 0.7086993 0.7488026 0.7718842
## omega2 0.5945330 0.7303022 0.5595403 0.6604794 0.7086993 0.7488026 0.7718842
## omega3 0.5908817 0.7246323 0.5478768 0.5944905 0.7200405 0.7493264 0.7619737
## avevar 0.2736274 0.4754695 0.3047688 0.3441895 0.3790679 0.4997620 0.4601654
##               TT        AE
## alpha  0.6399146 0.6420792
## omega  0.6497988 0.6606508
## omega2 0.6497988 0.6606508
## omega3 0.6414041 0.6589981
## avevar 0.3971353 0.4081632
knitr::kable(df, digits = 3)
CSB MAA CG UF CTH SC LSC TT AE
alpha 0.594 0.735 0.569 0.712 0.698 0.746 0.777 0.640 0.642
omega 0.595 0.730 0.560 0.660 0.709 0.749 0.772 0.650 0.661
omega2 0.595 0.730 0.560 0.660 0.709 0.749 0.772 0.650 0.661
omega3 0.591 0.725 0.548 0.594 0.720 0.749 0.762 0.641 0.659
avevar 0.274 0.475 0.305 0.344 0.379 0.500 0.460 0.397 0.408

Convergent validity and discriminant validity

(df <- convergentDiscriminantValidity(fit4multi31, mdl4multi31, fss))
##            CR       AVE      VIF    VIF.i       CSB       MAA        CG
## CSB 0.6034691 0.2736274 1.972909 1.350265 0.5230941 0.5026141 0.9253765
## MAA 0.7338800 0.4754695 1.522931 1.649417 0.5027540 0.6895429 0.5455026
## CG  0.5611571 0.3047688 2.148920 1.345908 0.9357514 0.5872633 0.5520587
## UF  0.6772882 0.3441895 1.834351 1.792668 0.6663838 0.2849096 0.8970483
## CTH 0.7116326 0.3790679 2.400510 1.784923 0.7249957 0.6138426 0.7798895
## SC  0.7487821 0.4997620 2.599610 1.617192 0.7802708 0.5093833 0.9455494
## LSC 0.7823383 0.4601654 1.493768 1.673296 0.6018483 0.4338750 0.6069042
## TT  0.6608174 0.3971353 1.712809 1.415744 0.5957118 0.6646816 0.5787742
## AE  0.6721483 0.4081632 2.074153 1.589593 0.8335311 0.7082264 0.6806706
##            UF       CTH        SC       LSC        TT        AE
## CSB 0.6823664 0.7269748 0.7798938 0.6297587 0.6405967 0.9122697
## MAA 0.3534014 0.6312613 0.5027684 0.4337557 0.6723065 0.6966798
## CG  0.9538860 0.7658937 0.9381181 0.5881305 0.5259780 0.6461508
## UF  0.5866766 0.5541886 0.7427982 0.4160803 0.2568435 0.4254335
## CTH 0.5888311 0.6156849 0.9530643 0.6880799 0.6880588 0.7099641
## SC  0.8001855 0.9403035 0.7069385 0.5774395 0.5589487 0.6167628
## LSC 0.4547599 0.6778479 0.5799011 0.6783549 0.4617055 0.5922447
## TT  0.2384266 0.6918291 0.5790594 0.4698997 0.6301867 0.9012036
## AE  0.3754786 0.7052201 0.6190269 0.5604488 0.8814469 0.6388765
knitr::kable(df, digits = 3)
CR AVE VIF VIF.i CSB MAA CG UF CTH SC LSC TT AE
CSB 0.603 0.274 1.973 1.350 0.523 0.503 0.925 0.682 0.727 0.780 0.630 0.641 0.912
MAA 0.734 0.475 1.523 1.649 0.503 0.690 0.546 0.353 0.631 0.503 0.434 0.672 0.697
CG 0.561 0.305 2.149 1.346 0.936 0.587 0.552 0.954 0.766 0.938 0.588 0.526 0.646
UF 0.677 0.344 1.834 1.793 0.666 0.285 0.897 0.587 0.554 0.743 0.416 0.257 0.425
CTH 0.712 0.379 2.401 1.785 0.725 0.614 0.780 0.589 0.616 0.953 0.688 0.688 0.710
SC 0.749 0.500 2.600 1.617 0.780 0.509 0.946 0.800 0.940 0.707 0.577 0.559 0.617
LSC 0.782 0.460 1.494 1.673 0.602 0.434 0.607 0.455 0.678 0.580 0.678 0.462 0.592
TT 0.661 0.397 1.713 1.416 0.596 0.665 0.579 0.238 0.692 0.579 0.470 0.630 0.901
AE 0.672 0.408 2.074 1.590 0.834 0.708 0.681 0.375 0.705 0.619 0.560 0.881 0.639

Second order model (31 itens and 9 factors)

Structure validity

library(lavaan)

mdl4second31 <- '
CSB =~ Q1 + Q10 + Q19 + Q28
MAA =~ Q2 + Q11 + Q20
CG  =~ Q3 +       Q21 + Q30
UF  =~ Q4 + Q13 + Q22 + Q31
CTH =~ Q5 + Q14 + Q23 + Q32
SC  =~      Q15 + Q24 + Q33
LSC =~ Q7 + Q16 + Q25 + Q34
TT  =~      Q17 + Q26 + Q35
AE  =~      Q18 + Q27 + Q36

FSS  =~ CSB + MAA + CG + UF + CTH + SC + LSC + TT + AE

CSB ~~ 0*MAA
CSB ~~ 0*CG
CSB ~~ 0*UF
CSB ~~ 0*CTH
CSB ~~ 0*SC
CSB ~~ 0*LSC
CSB ~~ 0*TT
CSB ~~ 0*AE

MAA ~~ 0*CG
MAA ~~ 0*UF
MAA ~~ 0*CTH
MAA ~~ 0*SC
MAA ~~ 0*LSC
MAA ~~ 0*TT
MAA ~~ 0*AE

CG ~~ 0*UF
CG ~~ 0*CTH
CG ~~ 0*SC
CG ~~ 0*LSC
CG ~~ 0*TT
CG ~~ 0*AE

UF ~~ 0*CTH
UF ~~ 0*SC
UF ~~ 0*LSC
UF ~~ 0*TT
UF ~~ 0*AE

CTH ~~ 0*SC
CTH ~~ 0*LSC
CTH ~~ 0*TT
CTH ~~ 0*AE

SC ~~ 0*LSC
SC ~~ 0*TT
SC ~~ 0*AE

LSC ~~ 0*TT
LSC ~~ 0*AE

TT ~~ 0*AE
'

fit4second31 <-cfa(mdl4second31, data=fss, estimator="WLSMV", std.lv=T)
## Warning in lav_samplestats_from_data(lavdata = lavdata, lavoptions = lavoptions, : lavaan WARNING: number of observations (396) too small to compute Gamma
standardizedSolution(fit4second31)
##     lhs op rhs est.std    se      z pvalue ci.lower ci.upper
## 1   CSB =~  Q1   0.539 0.047 11.404  0.000    0.446    0.631
## 2   CSB =~ Q10   0.665 0.043 15.480  0.000    0.581    0.749
## 3   CSB =~ Q19   0.434 0.048  9.069  0.000    0.341    0.528
## 4   CSB =~ Q28   0.453 0.048  9.378  0.000    0.358    0.547
## 5   MAA =~  Q2   0.685 0.043 16.044  0.000    0.601    0.768
## 6   MAA =~ Q11   0.773 0.047 16.552  0.000    0.681    0.864
## 7   MAA =~ Q20   0.614 0.052 11.893  0.000    0.513    0.715
## 8    CG =~  Q3   0.389 0.053  7.351  0.000    0.285    0.493
## 9    CG =~ Q21   0.552 0.045 12.373  0.000    0.464    0.639
## 10   CG =~ Q30   0.686 0.047 14.532  0.000    0.593    0.778
## 11   UF =~  Q4   0.863 0.048 17.889  0.000    0.769    0.958
## 12   UF =~ Q13   0.336 0.064  5.262  0.000    0.211    0.461
## 13   UF =~ Q22   0.383 0.062  6.219  0.000    0.263    0.504
## 14   UF =~ Q31   0.675 0.049 13.715  0.000    0.579    0.772
## 15  CTH =~  Q5   0.602 0.042 14.459  0.000    0.520    0.683
## 16  CTH =~ Q14   0.541 0.043 12.555  0.000    0.457    0.626
## 17  CTH =~ Q23   0.673 0.036 18.955  0.000    0.604    0.743
## 18  CTH =~ Q32   0.653 0.040 16.520  0.000    0.575    0.730
## 19   SC =~ Q15   0.652 0.038 17.275  0.000    0.578    0.726
## 20   SC =~ Q24   0.779 0.032 24.425  0.000    0.716    0.841
## 21   SC =~ Q33   0.685 0.034 20.310  0.000    0.619    0.752
## 22  LSC =~  Q7   0.788 0.043 18.267  0.000    0.703    0.872
## 23  LSC =~ Q16   0.698 0.045 15.391  0.000    0.609    0.786
## 24  LSC =~ Q25   0.729 0.040 18.156  0.000    0.650    0.808
## 25  LSC =~ Q34   0.524 0.051 10.202  0.000    0.423    0.624
## 26   TT =~ Q17   0.703 0.049 14.387  0.000    0.607    0.798
## 27   TT =~ Q26   0.783 0.050 15.803  0.000    0.686    0.881
## 28   TT =~ Q35   0.364 0.060  6.083  0.000    0.247    0.481
## 29   AE =~ Q18   0.393 0.058  6.782  0.000    0.279    0.506
## 30   AE =~ Q27   0.826 0.033 25.266  0.000    0.762    0.890
## 31   AE =~ Q36   0.666 0.039 17.120  0.000    0.590    0.742
## 32  FSS =~ CSB   0.882 0.039 22.792  0.000    0.806    0.958
## 33  FSS =~ MAA   0.656 0.056 11.648  0.000    0.546    0.767
## 34  FSS =~  CG   0.948 0.047 20.187  0.000    0.856    1.040
## 35  FSS =~  UF   0.663 0.049 13.451  0.000    0.566    0.759
## 36  FSS =~ CTH   0.919 0.038 24.158  0.000    0.845    0.994
## 37  FSS =~  SC   0.912 0.027 34.028  0.000    0.859    0.964
## 38  FSS =~ LSC   0.674 0.047 14.205  0.000    0.581    0.767
## 39  FSS =~  TT   0.724 0.056 12.965  0.000    0.615    0.834
## 40  FSS =~  AE   0.825 0.039 21.101  0.000    0.748    0.901
## 41  CSB ~~ MAA   0.000 0.000     NA     NA    0.000    0.000
## 42  CSB ~~  CG   0.000 0.000     NA     NA    0.000    0.000
## 43  CSB ~~  UF   0.000 0.000     NA     NA    0.000    0.000
## 44  CSB ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 45  CSB ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 46  CSB ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 47  CSB ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 48  CSB ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 49  MAA ~~  CG   0.000 0.000     NA     NA    0.000    0.000
## 50  MAA ~~  UF   0.000 0.000     NA     NA    0.000    0.000
## 51  MAA ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 52  MAA ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 53  MAA ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 54  MAA ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 55  MAA ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 56   CG ~~  UF   0.000 0.000     NA     NA    0.000    0.000
## 57   CG ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 58   CG ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 59   CG ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 60   CG ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 61   CG ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 62   UF ~~ CTH   0.000 0.000     NA     NA    0.000    0.000
## 63   UF ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 64   UF ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 65   UF ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 66   UF ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 67  CTH ~~  SC   0.000 0.000     NA     NA    0.000    0.000
## 68  CTH ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 69  CTH ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 70  CTH ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 71   SC ~~ LSC   0.000 0.000     NA     NA    0.000    0.000
## 72   SC ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 73   SC ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 74  LSC ~~  TT   0.000 0.000     NA     NA    0.000    0.000
## 75  LSC ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 76   TT ~~  AE   0.000 0.000     NA     NA    0.000    0.000
## 77   Q1 ~~  Q1   0.710 0.051 13.950  0.000    0.610    0.810
## 78  Q10 ~~ Q10   0.558 0.057  9.776  0.000    0.446    0.670
## 79  Q19 ~~ Q19   0.811 0.042 19.488  0.000    0.730    0.893
## 80  Q28 ~~ Q28   0.795 0.044 18.184  0.000    0.709    0.881
## 81   Q2 ~~  Q2   0.531 0.058  9.086  0.000    0.417    0.646
## 82  Q11 ~~ Q11   0.403 0.072  5.583  0.000    0.261    0.544
## 83  Q20 ~~ Q20   0.623 0.063  9.825  0.000    0.499    0.747
## 84   Q3 ~~  Q3   0.849 0.041 20.612  0.000    0.768    0.929
## 85  Q21 ~~ Q21   0.696 0.049 14.131  0.000    0.599    0.792
## 86  Q30 ~~ Q30   0.530 0.065  8.183  0.000    0.403    0.657
## 87   Q4 ~~  Q4   0.255 0.083  3.060  0.002    0.092    0.418
## 88  Q13 ~~ Q13   0.887 0.043 20.732  0.000    0.803    0.971
## 89  Q22 ~~ Q22   0.853 0.047 18.037  0.000    0.760    0.946
## 90  Q31 ~~ Q31   0.544 0.067  8.172  0.000    0.413    0.674
## 91   Q5 ~~  Q5   0.638 0.050 12.728  0.000    0.540    0.736
## 92  Q14 ~~ Q14   0.707 0.047 15.131  0.000    0.615    0.798
## 93  Q23 ~~ Q23   0.547 0.048 11.432  0.000    0.453    0.640
## 94  Q32 ~~ Q32   0.574 0.052 11.121  0.000    0.473    0.675
## 95  Q15 ~~ Q15   0.575 0.049 11.700  0.000    0.479    0.672
## 96  Q24 ~~ Q24   0.393 0.050  7.922  0.000    0.296    0.491
## 97  Q33 ~~ Q33   0.530 0.046 11.463  0.000    0.440    0.621
## 98   Q7 ~~  Q7   0.380 0.068  5.587  0.000    0.246    0.513
## 99  Q16 ~~ Q16   0.513 0.063  8.121  0.000    0.390    0.637
## 100 Q25 ~~ Q25   0.468 0.059  7.997  0.000    0.354    0.583
## 101 Q34 ~~ Q34   0.726 0.054 13.490  0.000    0.620    0.831
## 102 Q17 ~~ Q17   0.506 0.069  7.373  0.000    0.372    0.641
## 103 Q26 ~~ Q26   0.386 0.078  4.974  0.000    0.234    0.539
## 104 Q35 ~~ Q35   0.868 0.044 19.940  0.000    0.782    0.953
## 105 Q18 ~~ Q18   0.846 0.045 18.612  0.000    0.757    0.935
## 106 Q27 ~~ Q27   0.317 0.054  5.872  0.000    0.211    0.423
## 107 Q36 ~~ Q36   0.557 0.052 10.753  0.000    0.455    0.658
## 108 CSB ~~ CSB   0.222 0.068  3.250  0.001    0.088    0.356
## 109 MAA ~~ MAA   0.569 0.074  7.698  0.000    0.424    0.714
## 110  CG ~~  CG   0.101 0.089  1.130  0.258   -0.074    0.275
## 111  UF ~~  UF   0.561 0.065  8.579  0.000    0.433    0.689
## 112 CTH ~~ CTH   0.155 0.070  2.212  0.027    0.018    0.292
## 113  SC ~~  SC   0.169 0.049  3.458  0.001    0.073    0.265
## 114 LSC ~~ LSC   0.546 0.064  8.551  0.000    0.421    0.671
## 115  TT ~~  TT   0.475 0.081  5.870  0.000    0.317    0.634
## 116  AE ~~  AE   0.320 0.064  4.963  0.000    0.194    0.446
## 117 FSS ~~ FSS   1.000 0.000     NA     NA    1.000    1.000
fitMeasures(fit4second31)
##                          npar                          fmin 
##                        71.000                         1.913 
##                         chisq                            df 
##                      1514.807                       425.000 
##                        pvalue                  chisq.scaled 
##                         0.000                      1406.416 
##                     df.scaled                 pvalue.scaled 
##                       425.000                         0.000 
##          chisq.scaling.factor                baseline.chisq 
##                         1.304                     12636.298 
##                   baseline.df               baseline.pvalue 
##                       465.000                         0.000 
##         baseline.chisq.scaled            baseline.df.scaled 
##                      3479.024                       465.000 
##        baseline.pvalue.scaled baseline.chisq.scaling.factor 
##                         0.000                         4.038 
##                           cfi                           tli 
##                         0.910                         0.902 
##                          nnfi                           rfi 
##                         0.902                         0.869 
##                           nfi                          pnfi 
##                         0.880                         0.804 
##                           ifi                           rni 
##                         0.911                         0.910 
##                    cfi.scaled                    tli.scaled 
##                         0.674                         0.644 
##                    cfi.robust                    tli.robust 
##                            NA                            NA 
##                   nnfi.scaled                   nnfi.robust 
##                         0.644                            NA 
##                    rfi.scaled                    nfi.scaled 
##                         0.558                         0.596 
##                    ifi.scaled                    rni.scaled 
##                         0.679                         0.674 
##                    rni.robust                         rmsea 
##                            NA                         0.081 
##                rmsea.ci.lower                rmsea.ci.upper 
##                         0.076                         0.085 
##                  rmsea.pvalue                  rmsea.scaled 
##                         0.000                         0.076 
##         rmsea.ci.lower.scaled         rmsea.ci.upper.scaled 
##                         0.072                         0.081 
##           rmsea.pvalue.scaled                  rmsea.robust 
##                         0.000                            NA 
##         rmsea.ci.lower.robust         rmsea.ci.upper.robust 
##                            NA                            NA 
##           rmsea.pvalue.robust                           rmr 
##                            NA                         0.103 
##                    rmr_nomean                          srmr 
##                         0.103                         0.096 
##                  srmr_bentler           srmr_bentler_nomean 
##                         0.096                         0.096 
##                          crmr                   crmr_nomean 
##                         0.099                         0.099 
##                    srmr_mplus             srmr_mplus_nomean 
##                         0.096                         0.096 
##                         cn_05                         cn_01 
##                       124.617                       130.271 
##                           gfi                          agfi 
##                         0.928                         0.916 
##                          pgfi                           mfi 
##                         0.795                         0.252 
##                          ecvi 
##                         4.194
library(semPlot)
semPlot::semPaths(
  fit4second31, "std", curvePivot = T, layout = "tree", rotation = 1,
  fade = T, intercepts = T, residuals = T, esize = 1.5, asize = 1.5)

Internal consistency

library(semTools)
semTools::reliabilityL2(fit4second31, "FSS")
##        omegaL1        omegaL2 partialOmegaL1 
##      0.8670291      0.9594418      0.9223540
(df <- semTools::reliability(fit4second31, return.total = T))
##              CSB       MAA        CG        UF       CTH        SC       LSC
## alpha  0.5936267 0.7347327 0.5694930 0.7120178 0.6978117 0.7462389 0.7771464
## omega  0.5941502 0.7299435 0.5587028 0.6483471 0.7090589 0.7491601 0.7717262
## omega2 0.5941502 0.7299435 0.5587028 0.6483471 0.7090589 0.7491601 0.7717262
## omega3 0.5898501 0.7237941 0.5448405 0.5683736 0.7207706 0.7496655 0.7615538
## avevar 0.2737433 0.4751220 0.3062688 0.3384433 0.3795198 0.5004866 0.4599783
##               TT        AE     total
## alpha  0.6399146 0.6420792 0.9101544
## omega  0.6488831 0.6617904 0.9270114
## omega2 0.6488831 0.6617904 0.9270114
## omega3 0.6379060 0.6609784 0.9201376
## avevar 0.3980068 0.4093950 0.3922478
knitr::kable(df, digits = 3)
CSB MAA CG UF CTH SC LSC TT AE total
alpha 0.594 0.735 0.569 0.712 0.698 0.746 0.777 0.640 0.642 0.910
omega 0.594 0.730 0.559 0.648 0.709 0.749 0.772 0.649 0.662 0.927
omega2 0.594 0.730 0.559 0.648 0.709 0.749 0.772 0.649 0.662 0.927
omega3 0.590 0.724 0.545 0.568 0.721 0.750 0.762 0.638 0.661 0.920
avevar 0.274 0.475 0.306 0.338 0.380 0.500 0.460 0.398 0.409 0.392

Convergent validity and discriminant validity

(df <- convergentDiscriminantValidity(fit4second31, mdl4second31, fss, "FSS"))
## Warning in cbind(CR, AVE, VIF, VIF.i, df): number of rows of result is not a
## multiple of vector length (arg 3)
##            CR       AVE      VIF    VIF.i       CSB       MAA        CG
## CSB 0.6032852 0.2737433 1.972909 1.350265 0.5232049 0.5026141 0.9253765
## MAA 0.7337803 0.4751220 1.522931 1.649417 0.5788980 0.6892909 0.5455026
## CG  0.5606054 0.3062688 2.148920 1.345908 0.8365002 0.6223574 0.5534156
## UF  0.6675025 0.3384433 1.834351 1.792668 0.5847369 0.4350452 0.6286347
## CTH 0.7121304 0.3795198 2.400510 1.784923 0.8109632 0.6033579 0.8718444
## SC  0.7491646 0.5004866 2.599610 1.617192 0.8041431 0.5982837 0.8645122
## LSC 0.7822650 0.4599783 1.493768 1.673296 0.5941748 0.4420670 0.6387811
## TT  0.6603563 0.3980068 1.712809 1.415744 0.6390020 0.4754185 0.6869736
## AE  0.6737215 0.4093950 2.074153 1.589593 0.7274310 0.5412098 0.7820412
## FSS 0.9433210 0.3922478 1.972909 1.350265 0.8820925 0.6562781 0.9483135
##            UF       CTH        SC       LSC        TT        AE       FSS
## CSB 0.6823664 0.7269748 0.7798938 0.6297587 0.6405967 0.9122697        NA
## MAA 0.3534014 0.6312613 0.5027684 0.4337557 0.6723065 0.6966798        NA
## CG  0.9538860 0.7658937 0.9381181 0.5881305 0.5259780 0.6461508        NA
## UF  0.5817588 0.5541886 0.7427982 0.4160803 0.2568435 0.4254335        NA
## CTH 0.6094435 0.6160518 0.9530643 0.6880799 0.6880588 0.7099641        NA
## SC  0.6043181 0.8381201 0.7074508 0.5774395 0.5589487 0.6167628        NA
## LSC 0.4465258 0.6192801 0.6140721 0.6782170 0.4617055 0.5922447        NA
## TT  0.4802137 0.6660014 0.6604004 0.4879645 0.6308778 0.9012036        NA
## AE  0.5466686 0.7581667 0.7517906 0.5554920 0.5974008 0.6398399        NA
## FSS 0.6628976 0.9193630 0.9116313 0.6735970 0.7244162 0.8246652 0.6262969
knitr::kable(df, digits = 3)
CR AVE VIF VIF.i CSB MAA CG UF CTH SC LSC TT AE FSS
CSB 0.603 0.274 1.973 1.350 0.523 0.503 0.925 0.682 0.727 0.780 0.630 0.641 0.912 NA
MAA 0.734 0.475 1.523 1.649 0.579 0.689 0.546 0.353 0.631 0.503 0.434 0.672 0.697 NA
CG 0.561 0.306 2.149 1.346 0.837 0.622 0.553 0.954 0.766 0.938 0.588 0.526 0.646 NA
UF 0.668 0.338 1.834 1.793 0.585 0.435 0.629 0.582 0.554 0.743 0.416 0.257 0.425 NA
CTH 0.712 0.380 2.401 1.785 0.811 0.603 0.872 0.609 0.616 0.953 0.688 0.688 0.710 NA
SC 0.749 0.500 2.600 1.617 0.804 0.598 0.865 0.604 0.838 0.707 0.577 0.559 0.617 NA
LSC 0.782 0.460 1.494 1.673 0.594 0.442 0.639 0.447 0.619 0.614 0.678 0.462 0.592 NA
TT 0.660 0.398 1.713 1.416 0.639 0.475 0.687 0.480 0.666 0.660 0.488 0.631 0.901 NA
AE 0.674 0.409 2.074 1.590 0.727 0.541 0.782 0.547 0.758 0.752 0.555 0.597 0.640 NA
FSS 0.943 0.392 1.973 1.350 0.882 0.656 0.948 0.663 0.919 0.912 0.674 0.724 0.825 0.626

Summarizing assessment model fits

(df <- summariseFits(list('9-multi model(36 items)'=fit4multi,
                          '2nd-order model (36 items)'=fit4second,
                          '9-multi model(31 items)'=fit4multi31,
                          '2nd-order model (31 items)'=fit4second31)))
##                            chisq    df  chisq/df gfi   agfi  cfi   tli   srmr 
## 9-multi model(36 items)    2369.737 558 4.247    0.904 0.886 0.871 0.854 0.102
## 2nd-order model (36 items) 2771.034 585 4.737    0.888 0.873 0.844 0.832 0.111
## 9-multi model(31 items)    1232.684 398 3.097    0.942 0.927 0.931 0.92  0.086
## 2nd-order model (31 items) 1514.807 425 3.564    0.928 0.916 0.91  0.902 0.096
##                            rmsea rmsea.ci        
## 9-multi model(36 items)    0.091 "[0.087; 0.094]"
## 2nd-order model (36 items) 0.097 "[0.094; 0.101]"
## 9-multi model(31 items)    0.073 "[0.068; 0.078]"
## 2nd-order model (31 items) 0.081 "[0.076; 0.085]"
knitr::kable(df, digits = 3)
chisq df chisq/df gfi agfi cfi tli srmr rmsea rmsea.ci
9-multi model(36 items) 2369.737 558 4.247 0.904 0.886 0.871 0.854 0.102 0.091 [0.087; 0.094]
2nd-order model (36 items) 2771.034 585 4.737 0.888 0.873 0.844 0.832 0.111 0.097 [0.094; 0.101]
9-multi model(31 items) 1232.684 398 3.097 0.942 0.927 0.931 0.92 0.086 0.073 [0.068; 0.078]
2nd-order model (31 items) 1514.807 425 3.564 0.928 0.916 0.91 0.902 0.096 0.081 [0.076; 0.085]

IRT on the FSS-BR (36 itens and 9 factors - original version)

library(mirt)
## Loading required package: stats4
## Loading required package: lattice
mirt4mult <- mirt(fss, 1, itemtype='graded')
## 
Iteration: 1, Log-Lik: -18440.765, Max-Change: 1.45623
Iteration: 2, Log-Lik: -18219.381, Max-Change: 0.43701
Iteration: 3, Log-Lik: -18192.163, Max-Change: 0.15387
Iteration: 4, Log-Lik: -18185.794, Max-Change: 0.14540
Iteration: 5, Log-Lik: -18182.827, Max-Change: 0.07083
Iteration: 6, Log-Lik: -18180.951, Max-Change: 0.04134
Iteration: 7, Log-Lik: -18178.833, Max-Change: 0.02731
Iteration: 8, Log-Lik: -18178.197, Max-Change: 0.02398
Iteration: 9, Log-Lik: -18177.718, Max-Change: 0.02040
Iteration: 10, Log-Lik: -18176.636, Max-Change: 0.01143
Iteration: 11, Log-Lik: -18176.565, Max-Change: 0.00766
Iteration: 12, Log-Lik: -18176.518, Max-Change: 0.00657
Iteration: 13, Log-Lik: -18176.419, Max-Change: 0.01042
Iteration: 14, Log-Lik: -18176.401, Max-Change: 0.00265
Iteration: 15, Log-Lik: -18176.395, Max-Change: 0.00183
Iteration: 16, Log-Lik: -18176.386, Max-Change: 0.00233
Iteration: 17, Log-Lik: -18176.383, Max-Change: 0.00300
Iteration: 18, Log-Lik: -18176.380, Max-Change: 0.00070
Iteration: 19, Log-Lik: -18176.380, Max-Change: 0.00080
Iteration: 20, Log-Lik: -18176.378, Max-Change: 0.00103
Iteration: 21, Log-Lik: -18176.378, Max-Change: 0.00093
Iteration: 22, Log-Lik: -18176.377, Max-Change: 0.00131
Iteration: 23, Log-Lik: -18176.377, Max-Change: 0.00039
Iteration: 24, Log-Lik: -18176.377, Max-Change: 0.00098
Iteration: 25, Log-Lik: -18176.377, Max-Change: 0.00165
Iteration: 26, Log-Lik: -18176.376, Max-Change: 0.00033
Iteration: 27, Log-Lik: -18176.376, Max-Change: 0.00083
Iteration: 28, Log-Lik: -18176.376, Max-Change: 0.00041
Iteration: 29, Log-Lik: -18176.376, Max-Change: 0.00103
Iteration: 30, Log-Lik: -18176.375, Max-Change: 0.00031
Iteration: 31, Log-Lik: -18176.375, Max-Change: 0.00027
Iteration: 32, Log-Lik: -18176.375, Max-Change: 0.00069
Iteration: 33, Log-Lik: -18176.375, Max-Change: 0.00102
Iteration: 34, Log-Lik: -18176.375, Max-Change: 0.00081
Iteration: 35, Log-Lik: -18176.375, Max-Change: 0.00024
Iteration: 36, Log-Lik: -18176.375, Max-Change: 0.00061
Iteration: 37, Log-Lik: -18176.375, Max-Change: 0.00030
Iteration: 38, Log-Lik: -18176.375, Max-Change: 0.00076
Iteration: 39, Log-Lik: -18176.375, Max-Change: 0.00023
Iteration: 40, Log-Lik: -18176.375, Max-Change: 0.00020
Iteration: 41, Log-Lik: -18176.375, Max-Change: 0.00051
Iteration: 42, Log-Lik: -18176.375, Max-Change: 0.00075
Iteration: 43, Log-Lik: -18176.375, Max-Change: 0.00060
Iteration: 44, Log-Lik: -18176.375, Max-Change: 0.00018
Iteration: 45, Log-Lik: -18176.375, Max-Change: 0.00045
Iteration: 46, Log-Lik: -18176.375, Max-Change: 0.00022
Iteration: 47, Log-Lik: -18176.374, Max-Change: 0.00056
Iteration: 48, Log-Lik: -18176.374, Max-Change: 0.00017
Iteration: 49, Log-Lik: -18176.374, Max-Change: 0.00074
Iteration: 50, Log-Lik: -18176.374, Max-Change: 0.00022
Iteration: 51, Log-Lik: -18176.374, Max-Change: 0.00055
Iteration: 52, Log-Lik: -18176.374, Max-Change: 0.00029
Iteration: 53, Log-Lik: -18176.374, Max-Change: 0.00074
Iteration: 54, Log-Lik: -18176.374, Max-Change: 0.00022
Iteration: 55, Log-Lik: -18176.374, Max-Change: 0.00019
Iteration: 56, Log-Lik: -18176.374, Max-Change: 0.00049
Iteration: 57, Log-Lik: -18176.374, Max-Change: 0.00015
Iteration: 58, Log-Lik: -18176.374, Max-Change: 0.00064
Iteration: 59, Log-Lik: -18176.374, Max-Change: 0.00019
Iteration: 60, Log-Lik: -18176.374, Max-Change: 0.00048
Iteration: 61, Log-Lik: -18176.374, Max-Change: 0.00025
Iteration: 62, Log-Lik: -18176.374, Max-Change: 0.00064
Iteration: 63, Log-Lik: -18176.374, Max-Change: 0.00019
Iteration: 64, Log-Lik: -18176.374, Max-Change: 0.00017
Iteration: 65, Log-Lik: -18176.374, Max-Change: 0.00043
Iteration: 66, Log-Lik: -18176.374, Max-Change: 0.00063
Iteration: 67, Log-Lik: -18176.374, Max-Change: 0.00043
Iteration: 68, Log-Lik: -18176.374, Max-Change: 0.00013
Iteration: 69, Log-Lik: -18176.374, Max-Change: 0.00033
Iteration: 70, Log-Lik: -18176.374, Max-Change: 0.00016
Iteration: 71, Log-Lik: -18176.374, Max-Change: 0.00041
Iteration: 72, Log-Lik: -18176.374, Max-Change: 0.00012
Iteration: 73, Log-Lik: -18176.374, Max-Change: 0.00054
Iteration: 74, Log-Lik: -18176.374, Max-Change: 0.00016
Iteration: 75, Log-Lik: -18176.374, Max-Change: 0.00040
Iteration: 76, Log-Lik: -18176.374, Max-Change: 0.00021
Iteration: 77, Log-Lik: -18176.374, Max-Change: 0.00054
Iteration: 78, Log-Lik: -18176.374, Max-Change: 0.00016
Iteration: 79, Log-Lik: -18176.374, Max-Change: 0.00014
Iteration: 80, Log-Lik: -18176.374, Max-Change: 0.00036
Iteration: 81, Log-Lik: -18176.374, Max-Change: 0.00053
Iteration: 82, Log-Lik: -18176.374, Max-Change: 0.00037
Iteration: 83, Log-Lik: -18176.374, Max-Change: 0.00011
Iteration: 84, Log-Lik: -18176.374, Max-Change: 0.00028
Iteration: 85, Log-Lik: -18176.374, Max-Change: 0.00014
Iteration: 86, Log-Lik: -18176.374, Max-Change: 0.00035
Iteration: 87, Log-Lik: -18176.374, Max-Change: 0.00051
Iteration: 88, Log-Lik: -18176.374, Max-Change: 0.00035
Iteration: 89, Log-Lik: -18176.374, Max-Change: 0.00010
Iteration: 90, Log-Lik: -18176.374, Max-Change: 0.00027
Iteration: 91, Log-Lik: -18176.374, Max-Change: 0.00013
Iteration: 92, Log-Lik: -18176.374, Max-Change: 0.00033
Iteration: 93, Log-Lik: -18176.374, Max-Change: 0.00049
Iteration: 94, Log-Lik: -18176.374, Max-Change: 0.00033
Iteration: 95, Log-Lik: -18176.374, Max-Change: 0.00010
(param4mult <- coef(mirt4mult, simplify=T, IRTpars=T))
## $items
##         a     b1     b2     b3    b4
## Q1  1.296 -3.883 -2.631 -1.334 1.006
## Q2  1.144 -2.481 -0.945  0.079 2.070
## Q3  0.871 -4.775 -1.522  0.140 2.827
## Q4  1.839 -3.017 -1.684 -0.583 1.262
## Q5  1.429 -3.235 -1.440 -0.308 1.568
## Q6  0.449 -4.835 -1.601  0.112 4.494
## Q7  1.421 -2.916 -1.370 -0.331 1.560
## Q8  0.535 -3.869 -1.515  0.855 3.801
## Q9  0.742 -4.466 -2.392 -0.426 2.485
## Q10 1.630 -2.987 -1.734 -0.560 0.809
## Q11 1.408 -2.827 -1.232 -0.172 1.666
## Q12 0.365 -7.800 -2.156  1.218 7.040
## Q13 0.542 -6.455 -1.843  0.640 4.863
## Q14 1.370 -2.524 -1.398 -0.617 1.235
## Q15 1.725 -3.289 -1.569 -0.439 1.374
## Q16 1.174 -2.909 -0.954 -0.068 1.674
## Q17 1.353 -2.874 -1.133  0.103 2.049
## Q18 0.769 -3.475 -1.108  0.785 3.352
## Q19 0.945 -4.147 -1.984 -0.412 1.840
## Q20 1.080 -3.355 -1.579 -0.366 1.337
## Q21 1.334 -3.008 -1.399  0.059 1.969
## Q22 0.673 -5.290 -1.548  0.016 3.953
## Q23 1.668 -2.775 -1.341 -0.263 1.436
## Q24 2.405 -3.047 -1.417 -0.432 1.078
## Q25 1.319 -3.116 -1.181 -0.166 1.911
## Q26 1.466 -2.547 -1.070 -0.046 1.752
## Q27 2.021 -2.426 -1.238 -0.101 1.434
## Q28 0.892 -3.345 -1.202  0.366 2.067
## Q29 0.456 -5.829 -1.428  1.049 5.106
## Q30 1.879 -3.270 -1.643 -0.640 0.738
## Q31 1.074 -4.706 -1.941 -0.453 2.022
## Q32 1.591 -2.936 -1.332 -0.565 1.072
## Q33 1.815 -3.381 -1.637 -0.609 1.399
## Q34 0.763 -3.490 -1.457 -0.257 1.862
## Q35 0.636 -4.230 -1.782  0.233 2.971
## Q36 1.383 -3.323 -1.801 -0.686 0.656
## 
## $means
## F1 
##  0 
## 
## $cov
##    F1
## F1  1
library(matrixStats)
## 
## Attaching package: 'matrixStats'
## The following object is masked from 'package:dplyr':
## 
##     count
df <- data.frame(param4mult$items)
df <- cbind(df, bx = matrixStats::rowMeans2(as.matrix(df), cols = c(2,3,4,5)))
df <- rbind(df, M = colMeans(df))
df <- rbind(df, SD = matrixStats::colSds(as.matrix(df)))
knitr::kable(df, digits = 3)
a b1 b2 b3 b4 bx
Q1 1.296 -3.883 -2.631 -1.334 1.006 -1.711
Q2 1.144 -2.481 -0.945 0.079 2.070 -0.319
Q3 0.871 -4.775 -1.522 0.140 2.827 -0.833
Q4 1.839 -3.017 -1.684 -0.583 1.262 -1.006
Q5 1.429 -3.235 -1.440 -0.308 1.568 -0.854
Q6 0.449 -4.835 -1.601 0.112 4.494 -0.457
Q7 1.421 -2.916 -1.370 -0.331 1.560 -0.764
Q8 0.535 -3.869 -1.515 0.855 3.801 -0.182
Q9 0.742 -4.466 -2.392 -0.426 2.485 -1.200
Q10 1.630 -2.987 -1.734 -0.560 0.809 -1.118
Q11 1.408 -2.827 -1.232 -0.172 1.666 -0.641
Q12 0.365 -7.800 -2.156 1.218 7.040 -0.424
Q13 0.542 -6.455 -1.843 0.640 4.863 -0.699
Q14 1.370 -2.524 -1.398 -0.617 1.235 -0.826
Q15 1.725 -3.289 -1.569 -0.439 1.374 -0.981
Q16 1.174 -2.909 -0.954 -0.068 1.674 -0.564
Q17 1.353 -2.874 -1.133 0.103 2.049 -0.464
Q18 0.769 -3.475 -1.108 0.785 3.352 -0.112
Q19 0.945 -4.147 -1.984 -0.412 1.840 -1.176
Q20 1.080 -3.355 -1.579 -0.366 1.337 -0.991
Q21 1.334 -3.008 -1.399 0.059 1.969 -0.595
Q22 0.673 -5.290 -1.548 0.016 3.953 -0.717
Q23 1.668 -2.775 -1.341 -0.263 1.436 -0.736
Q24 2.405 -3.047 -1.417 -0.432 1.078 -0.955
Q25 1.319 -3.116 -1.181 -0.166 1.911 -0.638
Q26 1.466 -2.547 -1.070 -0.046 1.752 -0.478
Q27 2.021 -2.426 -1.238 -0.101 1.434 -0.583
Q28 0.892 -3.345 -1.202 0.366 2.067 -0.529
Q29 0.456 -5.829 -1.428 1.049 5.106 -0.275
Q30 1.879 -3.270 -1.643 -0.640 0.738 -1.204
Q31 1.074 -4.706 -1.941 -0.453 2.022 -1.269
Q32 1.591 -2.936 -1.332 -0.565 1.072 -0.940
Q33 1.815 -3.381 -1.637 -0.609 1.399 -1.057
Q34 0.763 -3.490 -1.457 -0.257 1.862 -0.836
Q35 0.636 -4.230 -1.782 0.233 2.971 -0.702
Q36 1.383 -3.323 -1.801 -0.686 0.656 -1.288
M 1.207 -3.690 -1.534 -0.116 2.215 -0.781
SD 0.492 1.171 0.367 0.526 1.392 0.342
plot(mirt4mult, type='infotrace')

plot(mirt4mult, type='info')

plot(mirt4mult, type='infoSE')

Unidimensional short model of FSS (original)

Structure validity

library(lavaan)
mdl4uni <- 'FSS =~ Q19 + Q29 + Q12 + Q22 + Q32 + Q6 + Q7 + Q17 + Q36'

fit4uni <-cfa(mdl4uni, data=fss[,c("Q19","Q29","Q12","Q22","Q32","Q6","Q7","Q17","Q36")], estimator="WLSMV", std.lv=T)
standardizedSolution(fit4uni)
##    lhs op rhs est.std    se       z pvalue ci.lower ci.upper
## 1  FSS =~ Q19   0.516 0.049  10.526  0.000    0.420    0.612
## 2  FSS =~ Q29   0.146 0.069   2.113  0.035    0.011    0.281
## 3  FSS =~ Q12   0.605 0.050  12.043  0.000    0.506    0.703
## 4  FSS =~ Q22   0.699 0.048  14.472  0.000    0.604    0.794
## 5  FSS =~ Q32   0.180 0.056   3.205  0.001    0.070    0.290
## 6  FSS =~  Q6   0.519 0.051  10.173  0.000    0.419    0.619
## 7  FSS =~  Q7   0.339 0.061   5.545  0.000    0.219    0.459
## 8  FSS =~ Q17   0.091 0.070   1.289  0.198   -0.047    0.228
## 9  FSS =~ Q36   0.039 0.058   0.675  0.500   -0.075    0.153
## 10 Q19 ~~ Q19   0.734 0.051  14.502  0.000    0.635    0.833
## 11 Q29 ~~ Q29   0.979 0.020  48.744  0.000    0.939    1.018
## 12 Q12 ~~ Q12   0.634 0.061  10.437  0.000    0.515    0.753
## 13 Q22 ~~ Q22   0.511 0.068   7.572  0.000    0.379    0.644
## 14 Q32 ~~ Q32   0.968 0.020  48.026  0.000    0.928    1.007
## 15  Q6 ~~  Q6   0.731 0.053  13.807  0.000    0.627    0.835
## 16  Q7 ~~  Q7   0.885 0.041  21.359  0.000    0.804    0.966
## 17 Q17 ~~ Q17   0.992 0.013  77.980  0.000    0.967    1.017
## 18 Q36 ~~ Q36   0.998 0.005 219.315  0.000    0.990    1.007
## 19 FSS ~~ FSS   1.000 0.000      NA     NA    1.000    1.000
fitMeasures(fit4uni)
##                          npar                          fmin 
##                        18.000                         0.386 
##                         chisq                            df 
##                       305.503                        27.000 
##                        pvalue                  chisq.scaled 
##                         0.000                       344.051 
##                     df.scaled                 pvalue.scaled 
##                        27.000                         0.000 
##          chisq.scaling.factor                baseline.chisq 
##                         0.903                       639.744 
##                   baseline.df               baseline.pvalue 
##                        36.000                         0.000 
##         baseline.chisq.scaled            baseline.df.scaled 
##                       460.266                        36.000 
##        baseline.pvalue.scaled baseline.chisq.scaling.factor 
##                         0.000                         1.423 
##                           cfi                           tli 
##                         0.539                         0.385 
##                          nnfi                           rfi 
##                         0.385                         0.363 
##                           nfi                          pnfi 
##                         0.522                         0.392 
##                           ifi                           rni 
##                         0.545                         0.539 
##                    cfi.scaled                    tli.scaled 
##                         0.253                         0.004 
##                    cfi.robust                    tli.robust 
##                            NA                            NA 
##                   nnfi.scaled                   nnfi.robust 
##                         0.004                            NA 
##                    rfi.scaled                    nfi.scaled 
##                         0.003                         0.252 
##                    ifi.scaled                    rni.scaled 
##                         0.268                         0.253 
##                    rni.robust                         rmsea 
##                            NA                         0.162 
##                rmsea.ci.lower                rmsea.ci.upper 
##                         0.146                         0.178 
##                  rmsea.pvalue                  rmsea.scaled 
##                         0.000                         0.172 
##         rmsea.ci.lower.scaled         rmsea.ci.upper.scaled 
##                         0.156                         0.189 
##           rmsea.pvalue.scaled                  rmsea.robust 
##                         0.000                            NA 
##         rmsea.ci.lower.robust         rmsea.ci.upper.robust 
##                            NA                            NA 
##           rmsea.pvalue.robust                           rmr 
##                            NA                         0.152 
##                    rmr_nomean                          srmr 
##                         0.152                         0.137 
##                  srmr_bentler           srmr_bentler_nomean 
##                         0.137                         0.137 
##                          crmr                   crmr_nomean 
##                         0.153                         0.153 
##                    srmr_mplus             srmr_mplus_nomean 
##                         0.137                         0.137 
##                         cn_05                         cn_01 
##                        52.864                        61.721 
##                           gfi                          agfi 
##                         0.910                         0.849 
##                          pgfi                           mfi 
##                         0.546                         0.703 
##                          ecvi 
##                         0.865
library(semPlot)
semPlot::semPaths(
  fit4uni, "std", curvePivot = T, layout = "circle",
  rotation = 3, fade = T, intercepts = T, residuals = T,
  sizeLat = 4, sizeLat2 = 3, sizeMan = 4, esize = 1.5, asize = 1.5,
  edge.label.position = 0.55, levels = c(9.75,10,10,10))

Internal consistency

library(semTools)
(df <- semTools::reliability(fit4uni))
##              FSS
## alpha  0.6029174
## omega  0.5696327
## omega2 0.5696327
## omega3 0.5070341
## avevar 0.1745423
knitr::kable(df, digits = 3)
FSS
alpha 0.603
omega 0.570
omega2 0.570
omega3 0.507
avevar 0.175

Unidimensional short alternative model (FSS-short)

Structure validity

library(lavaan)
mdl4alt <- 'FSS =~ Q10 + Q11 + Q30 + Q4 + Q23 + Q24 + Q7 + Q26 + Q27'

fit4alt <-cfa(mdl4alt, data=fss[,c("Q10","Q11","Q30","Q4","Q23","Q24","Q7","Q26","Q27")], estimator="WLSMV", std.lv=T)
standardizedSolution(fit4alt)
##    lhs op rhs est.std    se      z pvalue ci.lower ci.upper
## 1  FSS =~ Q10   0.570 0.041 13.770      0    0.489    0.651
## 2  FSS =~ Q11   0.511 0.047 10.870      0    0.419    0.603
## 3  FSS =~ Q30   0.633 0.039 16.239      0    0.557    0.710
## 4  FSS =~  Q4   0.608 0.038 16.162      0    0.534    0.681
## 5  FSS =~ Q23   0.650 0.035 18.378      0    0.580    0.719
## 6  FSS =~ Q24   0.751 0.027 27.479      0    0.698    0.805
## 7  FSS =~  Q7   0.488 0.047 10.401      0    0.396    0.580
## 8  FSS =~ Q26   0.591 0.045 13.111      0    0.502    0.679
## 9  FSS =~ Q27   0.689 0.035 19.908      0    0.621    0.757
## 10 Q10 ~~ Q10   0.675 0.047 14.301      0    0.583    0.768
## 11 Q11 ~~ Q11   0.739 0.048 15.409      0    0.645    0.833
## 12 Q30 ~~ Q30   0.599 0.049 12.123      0    0.502    0.696
## 13  Q4 ~~  Q4   0.631 0.046 13.800      0    0.541    0.720
## 14 Q23 ~~ Q23   0.578 0.046 12.587      0    0.488    0.668
## 15 Q24 ~~ Q24   0.435 0.041 10.591      0    0.355    0.516
## 16  Q7 ~~  Q7   0.762 0.046 16.634      0    0.672    0.852
## 17 Q26 ~~ Q26   0.651 0.053 12.226      0    0.547    0.755
## 18 Q27 ~~ Q27   0.526 0.048 11.025      0    0.432    0.619
## 19 FSS ~~ FSS   1.000 0.000     NA     NA    1.000    1.000
fitMeasures(fit4alt)
##                          npar                          fmin 
##                        18.000                         0.056 
##                         chisq                            df 
##                        44.359                        27.000 
##                        pvalue                  chisq.scaled 
##                         0.019                        85.491 
##                     df.scaled                 pvalue.scaled 
##                        27.000                         0.000 
##          chisq.scaling.factor                baseline.chisq 
##                         0.556                      1729.140 
##                   baseline.df               baseline.pvalue 
##                        36.000                         0.000 
##         baseline.chisq.scaled            baseline.df.scaled 
##                       872.265                        36.000 
##        baseline.pvalue.scaled baseline.chisq.scaling.factor 
##                         0.000                         2.025 
##                           cfi                           tli 
##                         0.990                         0.986 
##                          nnfi                           rfi 
##                         0.986                         0.966 
##                           nfi                          pnfi 
##                         0.974                         0.731 
##                           ifi                           rni 
##                         0.990                         0.990 
##                    cfi.scaled                    tli.scaled 
##                         0.930                         0.907 
##                    cfi.robust                    tli.robust 
##                            NA                            NA 
##                   nnfi.scaled                   nnfi.robust 
##                         0.907                            NA 
##                    rfi.scaled                    nfi.scaled 
##                         0.869                         0.902 
##                    ifi.scaled                    rni.scaled 
##                         0.931                         0.930 
##                    rni.robust                         rmsea 
##                            NA                         0.040 
##                rmsea.ci.lower                rmsea.ci.upper 
##                         0.017                         0.061 
##                  rmsea.pvalue                  rmsea.scaled 
##                         0.759                         0.074 
##         rmsea.ci.lower.scaled         rmsea.ci.upper.scaled 
##                         0.057                         0.092 
##           rmsea.pvalue.scaled                  rmsea.robust 
##                         0.013                            NA 
##         rmsea.ci.lower.robust         rmsea.ci.upper.robust 
##                            NA                            NA 
##           rmsea.pvalue.robust                           rmr 
##                            NA                         0.052 
##                    rmr_nomean                          srmr 
##                         0.052                         0.055 
##                  srmr_bentler           srmr_bentler_nomean 
##                         0.055                         0.055 
##                          crmr                   crmr_nomean 
##                         0.061                         0.061 
##                    srmr_mplus             srmr_mplus_nomean 
##                         0.055                         0.055 
##                         cn_05                         cn_01 
##                       358.190                       419.183 
##                           gfi                          agfi 
##                         0.989                         0.981 
##                          pgfi                           mfi 
##                         0.593                         0.978 
##                          ecvi 
##                         0.203
library(semPlot)
semPlot::semPaths(
  fit4alt, "std", curvePivot = T, layout = "circle",
  rotation = 3, fade = T, intercepts = T, residuals = T,
  sizeLat = 4, sizeLat2 = 3, sizeMan = 4, esize = 1.5, asize = 1.5,
  edge.label.position = 0.55, levels = c(9.75,10,10,10))

Internal consistency

library(semTools)
(df <- semTools::reliability(fit4alt))
##              FSS
## alpha  0.8394996
## omega  0.8401415
## omega2 0.8401415
## omega3 0.8388554
## avevar 0.3710501
knitr::kable(df, digits = 3)
FSS
alpha 0.839
omega 0.840
omega2 0.840
omega3 0.839
avevar 0.371

Summarizing assessment model fits in short-versions

df <- summariseFits(list('uni model'=fit4uni, 'alt model'=fit4alt))
knitr::kable(df, digits = 3)
chisq df chisq/df gfi agfi cfi tli srmr rmsea rmsea.ci
uni model 305.503 27 11.315 0.91 0.849 0.539 0.385 0.137 0.162 [0.146; 0.178]
alt model 44.359 27 1.643 0.989 0.981 0.99 0.986 0.055 0.04 [0.017; 0.061]

IRT on the FSS-short version (9 itens - alternative version)

library(mirt)
mirt4alt <- mirt(fss[,c("Q10","Q11","Q30","Q4","Q23","Q24","Q7","Q26","Q27")],
                 1, itemtype='graded')
## 
Iteration: 1, Log-Lik: -4417.229, Max-Change: 2.26553
Iteration: 2, Log-Lik: -4323.610, Max-Change: 0.71319
Iteration: 3, Log-Lik: -4302.027, Max-Change: 0.39904
Iteration: 4, Log-Lik: -4294.821, Max-Change: 0.14063
Iteration: 5, Log-Lik: -4291.548, Max-Change: 0.10464
Iteration: 6, Log-Lik: -4289.921, Max-Change: 0.07147
Iteration: 7, Log-Lik: -4288.981, Max-Change: 0.04729
Iteration: 8, Log-Lik: -4288.553, Max-Change: 0.03426
Iteration: 9, Log-Lik: -4288.318, Max-Change: 0.02522
Iteration: 10, Log-Lik: -4288.078, Max-Change: 0.01181
Iteration: 11, Log-Lik: -4288.049, Max-Change: 0.00804
Iteration: 12, Log-Lik: -4288.032, Max-Change: 0.00535
Iteration: 13, Log-Lik: -4288.016, Max-Change: 0.00349
Iteration: 14, Log-Lik: -4288.013, Max-Change: 0.00318
Iteration: 15, Log-Lik: -4288.011, Max-Change: 0.00195
Iteration: 16, Log-Lik: -4288.008, Max-Change: 0.00179
Iteration: 17, Log-Lik: -4288.007, Max-Change: 0.00104
Iteration: 18, Log-Lik: -4288.007, Max-Change: 0.00093
Iteration: 19, Log-Lik: -4288.006, Max-Change: 0.00035
Iteration: 20, Log-Lik: -4288.006, Max-Change: 0.00016
Iteration: 21, Log-Lik: -4288.006, Max-Change: 0.00011
Iteration: 22, Log-Lik: -4288.006, Max-Change: 0.00044
Iteration: 23, Log-Lik: -4288.006, Max-Change: 0.00050
Iteration: 24, Log-Lik: -4288.006, Max-Change: 0.00012
Iteration: 25, Log-Lik: -4288.006, Max-Change: 0.00010
Iteration: 26, Log-Lik: -4288.006, Max-Change: 0.00030
Iteration: 27, Log-Lik: -4288.006, Max-Change: 0.00009
param4alt <- coef(mirt4alt, simplify=T, IRTpars=T)
library(matrixStats)
df <- data.frame(param4alt$items)
df <- cbind(df, bx = matrixStats::rowMeans2(as.matrix(df), cols = c(2,3,4,5)))
df <- rbind(df, M = colMeans(df))
df <- rbind(df, SD = matrixStats::colSds(as.matrix(df)))
knitr::kable(df, digits = 3)
a b1 b2 b3 b4 bx
Q10 1.397 -3.357 -1.928 -0.596 0.940 -1.235
Q11 1.262 -3.090 -1.335 -0.162 1.823 -0.691
Q30 1.725 -3.531 -1.762 -0.670 0.822 -1.285
Q4 1.824 -3.071 -1.729 -0.595 1.320 -1.019
Q23 1.793 -2.725 -1.311 -0.239 1.441 -0.708
Q24 2.612 -3.050 -1.417 -0.416 1.110 -0.943
Q7 1.151 -3.420 -1.578 -0.360 1.828 -0.883
Q26 1.461 -2.592 -1.074 -0.027 1.791 -0.475
Q27 1.944 -2.535 -1.278 -0.085 1.527 -0.593
M 1.686 -3.041 -1.490 -0.350 1.400 -0.870
SD 0.416 0.341 0.260 0.223 0.360 0.263
plot(mirt4alt, type='infotrace')

plot(mirt4alt, type='info')

plot(mirt4alt, type='infoSE')

knitr::purl("code/script20220505.Rmd", output="code/script.R", documentation = 2)